o |nhc@sNddgZddlmZddlTddlTddlTGdddeZGdddZdS)Parser ParserError)MarkedYAMLError)*c@s eZdZdS)rN)__name__ __module__ __qualname__r r C/usr/local/bin/dhwp/env/lib/python3.10/site-packages/yaml/parser.pyrEsc@seZdZdddZddZddZdd Zd d Zd d ZddZ ddZ ddZ ddZ ddZ ddZddZddZddZdDd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0ZdEd1d2Zd3d4Zd5d6Zd7d8Zd9d:ZdEd;d<Zd=d>Z d?d@Z!dAdBZ"dCS)Fr!ztag:yaml.org,2002:)r z!!cCs*d|_d|_i|_g|_g|_|j|_dSN) current_event yaml_version tag_handlesstatesmarksparse_stream_startstateselfr r r __init__Qs  zParser.__init__cCsg|_d|_dSr )rrrr r r disposeYs zParser.disposecGsL|jdur |jr ||_|jdur$|sdS|D] }t|j|r#dSqdS)NTF)r r isinstance)rchoiceschoicer r r check_event^s    zParser.check_eventcCs |jdur |jr ||_|jSr r rrr r r peek_eventks  zParser.peek_eventcCs*|jdur |jr ||_|j}d|_|Sr r)rvaluer r r get_eventrs  zParser.get_eventcCs(|}t|j|j|jd}|j|_|S)N)encoding) get_tokenStreamStartEvent start_markend_markr parse_implicit_document_startrrtokeneventr r r rs  zParser.parse_stream_startcCsX|ttts(|j|_|}|j}}t||dd}|j |j |j |_ |S|S)NFexplicit) check_tokenDirectiveTokenDocumentStartTokenStreamEndToken DEFAULT_TAGSr peek_tokenr#DocumentStartEventrappendparse_document_endparse_block_noderparse_document_start)rr'r#r$r(r r r r%s z$Parser.parse_implicit_document_startcCs|tr||ts|tsQ|}|j}|\}}|ts4tddd|j |j|}|j }t ||d||d}|j |j|j|_|S|}t|j|j }|j raJ|jrfJd|_|S)Nz)expected '', but found %rT)r*versiontags)r+DocumentEndTokenr!r.r0r#process_directivesr-ridr$r1rr2r3parse_document_contentrStreamEndEventr)rr'r#r6r7r$r(r r r r5s8      zParser.parse_document_startcCsL|}|j}}d}|tr|}|j}d}t|||d}|j|_|S)NFTr)) r0r#r+r8r!r$DocumentEndEventr5r)rr'r#r$r*r(r r r r3s  zParser.parse_document_endcCs8|ttttr||j}|j |_ |S| Sr ) r+r,r-r8r.process_empty_scalarr0r#rpoprr4)rr(r r r r;s zParser.parse_document_contentcCsd|_i|_|trZ|}|jdkr7|jdur!tddd|j|j\}}|dkr2tddd|j|j|_n|jdkrU|j\}}||jvrPtddd||j||j|<|ts |jrf|j|j f}n|jdf}|j D]}||jvr}|j ||j|<qn|S)NYAMLzfound duplicate YAML directiverz:found incompatible YAML document (version 1.* is required)TAGzduplicate tag handle %r) rrr+r,r!namerr#rcopyr/)rr'majorminorhandleprefixrkeyr r r r9sB             zParser.process_directivescCs |jddS)NT)block parse_noderr r r r4s zParser.parse_block_nodecCs|Sr rJrr r r parse_flow_node szParser.parse_flow_nodecCs|jdddS)NT)rIindentless_sequencerJrr r r 'parse_block_node_or_indentless_sequencesz.Parser.parse_block_node_or_indentless_sequenceFc Cs>|tr|}t|j|j|j}|j|_ |Sd}d}d}}} |t rI|}|j}|j}|j}|t rH|}|j} |j}|j}n#|t rl|}|j}} |j}|j}|t rl|}|j}|j}|dur|\} } | dur| |j vrt d|d| | |j | | }n| }|dur|j}}d}|dup|dk} |r|tr|j}t||| ||}|j|_ |S|tr|}|j}|jr|dus|dkrd} n |durd} nd} t||| |j|||jd}|j|_ |S|tr|j}t||| ||dd }|j|_ |S|tr-|j}t||| ||dd }|j|_ |S|rK|trK|j}t||| ||d d }|j|_ |S|ri|tri|j}t||| ||d d }|j|_ |S|duss|durt||| d fd ||}|j|_ |S|rd } nd } |}t d| |d|j|j)Nzwhile parsing a nodezfound undefined tag handle %rr TF)FTFF)styleT flow_styleFrIflowzwhile parsing a %s nodez'expected the node content, but found %r) r+ AliasTokenr! AliasEventrr#r$rr?r AnchorTokenTagTokenrrr0BlockEntryTokenSequenceStartEventparse_indentless_sequence_entry ScalarTokenplain ScalarEventrQFlowSequenceStartTokenparse_flow_sequence_first_entryFlowMappingStartTokenMappingStartEventparse_flow_mapping_first_keyBlockSequenceStartToken parse_block_sequence_first_entryBlockMappingStartTokenparse_block_mapping_first_keyr:)rrIrMr'r(anchortagr#r$tag_markrFsuffiximplicitnoder r r rKs  _        1   $       zParser.parse_nodecC|}|j|j|Sr )r!rr2r#parse_block_sequence_entryrr'r r r rfxz'Parser.parse_block_sequence_first_entrycCs|tr$|}|tts|j|j|S|j|_| |j S|ts;| }t d|j dd|j|j|}t|j|j }|j|_|j |S)Nz while parsing a block collection"expected , but found %r)r+rZr! BlockEndTokenrr2rpr4rr>r$r0rrr:r#SequenceEndEventr?r&r r r rp}s"        z!Parser.parse_block_sequence_entrycCsr|tr&|}|tttts|j|j| S|j|_ | |j S| }t|j|j}|j|_ |Sr )r+rZr!KeyToken ValueTokenrurr2r\r4rr>r$r0rvr#r?r&r r r r\s   z&Parser.parse_indentless_sequence_entrycCror )r!rr2r#parse_block_mapping_keyrqr r r rhrrz$Parser.parse_block_mapping_first_keycCs|tr%|}|ttts|j|j|S|j|_ | |j S|ts<| }t d|jdd|j|j|}t|j|j }|j|_ |j|S)Nzwhile parsing a block mappingrsrt)r+rwr!rxrurr2parse_block_mapping_valuerNrr>r$r0rrr:r#MappingEndEventr?r&r r r rys"       zParser.parse_block_mapping_keycCsf|tr%|}|ttts|j|j|S|j|_ | |j S|j|_ | }| |j Sr )r+rxr!rwrurr2ryrNrr>r$r0r#rqr r r rzs   z Parser.parse_block_mapping_valuecC"|}|j|j|jddSNT)first)r!rr2r#parse_flow_sequence_entryrqr r r ra z&Parser.parse_flow_sequence_first_entrycCs|tsN|s#|tr|n|}td|jdd|j|j|t r>|}t ddd|j|j dd}|j |_ |S|tsN|j|j|S|}t|j|j }|j|_ |j|S)Nzwhile parsing a flow sequencerszexpected ',' or ']', but got %rTrR)r+FlowSequenceEndTokenFlowEntryTokenr!r0rrr:r#rwrcr$%parse_flow_sequence_entry_mapping_keyrrr2rrLrvr?rr~r'r(r r r rs0         z Parser.parse_flow_sequence_entrycCs@|}|ttts|j|j|S|j|_ | |j Sr ) r!r+rxrrrr2'parse_flow_sequence_entry_mapping_valuerLrr>r$rqr r r rs z,Parser.parse_flow_sequence_entry_mapping_keycCd|tr$|}|tts|j|j|S|j|_ | |j S|j|_ | }| |j Sr )r+rxr!rrrr2%parse_flow_sequence_entry_mapping_endrLrr>r$r0r#rqr r r r    z.Parser.parse_flow_sequence_entry_mapping_valuecCs|j|_|}t|j|jSr )rrr0r{r#rqr r r rsz,Parser.parse_flow_sequence_entry_mapping_endcCr|r})r!rr2r#parse_flow_mapping_keyrqr r r rdrz#Parser.parse_flow_mapping_first_keycCs|tsX|s#|tr|n|}td|jdd|j|j|t rH|}|t tts>|j |j |S|j |_||jS|tsX|j |j|S|}t|j|j}|j |_|j|S)Nzwhile parsing a flow mappingrszexpected ',' or '}', but got %r)r+FlowMappingEndTokenrr!r0rrr:r#rwrxrr2parse_flow_mapping_valuerLrr>r$parse_flow_mapping_empty_valuer{r?rr r r rs2          zParser.parse_flow_mapping_keycCrr )r+rxr!rrrr2rrLrr>r$r0r#rqr r r r9rzParser.parse_flow_mapping_valuecCs|j|_||jSr )rrr>r0r#rr r r rGsz%Parser.parse_flow_mapping_empty_valuecCstdddd||S)NrOrT)r_)rmarkr r r r>KszParser.process_empty_scalarNrP)F)#rrrr/rrrrrrr%r5r3r;r9r4rLrNrKrfrpr\rhryrzrarrrrrdrrrr>r r r r rHsF    / g    N)__all__errorrtokenseventsscannerrrr r r r s=