U b`c@sNddgZddlmZddlTddlTddlTGdddeZGdddZdS)Parser ParserError)MarkedYAMLError)*c@s eZdZdS)rN)__name__ __module__ __qualname__r r >/opt/alt/python38/lib64/python3.8/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:ZdFd;d<Zd=d>Z d?d@Z!dAdBZ"dCS)Gr!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 disposeYszParser.disposecGsL|jdkr|jr||_|jdk rH|s,dS|D]}t|j|r0dSq0dS)NTF)r r isinstance)rchoicesZchoicer r r check_event^s    zParser.check_eventcCs |jdkr|jr||_|jSr r rrr r r peek_eventks  zParser.peek_eventcCs*|jdkr|jr||_|j}d|_|Sr r)rvaluer r r get_eventrs   zParser.get_eventcCs(|}t|j|j|jd}|j|_|S)N)encoding) get_tokenZStreamStartEvent start_markend_markrparse_implicit_document_startrrtokeneventr r r rs  zParser.parse_stream_startcCs\|tttsP|j|_|}|j}}t||dd}|j |j |j |_ |S|SdS)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|q|ts|}|j}|\}}|ts`tddd|j |j|}|j }t ||d||d}|j |j|j|_n|}t|j|j }d|_|S)Nz)expected '', but found %rT)r(versiontags)r)DocumentEndTokenr r,r.r!process_directivesr+ridr"r/rr0r1parse_document_contentrZStreamEndEvent)rr%r!r4r5r"r&r r r r3s4      zParser.parse_document_startcCsL|}|j}}d}|tr2|}|j}d}t|||d}|j|_|S)NFTr') r.r!r)r6r r"ZDocumentEndEventr3r)rr%r!r"r(r&r r r r1s  zParser.parse_document_endcCs<|ttttr0||j}|j |_ |S| SdSr ) r)r*r+r6r,process_empty_scalarr.r!rpoprr2)rr&r r r r9s zParser.parse_document_contentcCsd|_i|_|tr|}|jdkrn|jdk rBtddd|j|j\}}|dkrdtddd|j|j|_q |jdkr |j\}}||jkrtddd||j||j|<q |jr|j|j f}n |jdf}|j D]}||jkr|j ||j|<q|S)NZYAMLzfound duplicate YAML directiverz:found incompatible YAML document (version 1.* is required)ZTAGzduplicate tag handle %r) rrr)r*r namerr!rcopyr-)rr%majorminorhandleprefixrkeyr r r r7s@            zParser.process_directivescCs |jddS)NT)block parse_noderr r r r2szParser.parse_block_nodecCs|Sr rDrr r r parse_flow_node szParser.parse_flow_nodecCs|jdddS)NT)rCindentless_sequencerDrr r r 'parse_block_node_or_indentless_sequencesz.Parser.parse_block_node_or_indentless_sequenceFc CsR|tr4|}t|j|j|j}|j|_ nd}d}d}}} |t r|}|j}|j}|j}|t r|}|j} |j}|j}nF|t r|}|j}} |j}|j}|t r|}|j}|j}|dk r&|\} } | dk r"| |j krt d|d| | |j | | }n| }|dkr>|j}}d}|dkpR|dk} |r|tr|j}t||| ||}|j|_ n|tr|}|j}|jr|dks|dkrd} n|dkrd} nd} t||| |j|||jd}|j|_ nH|tr<|j}t||| ||dd }|j|_ n|trp|j}t||| ||dd }|j|_ n|r|tr|j}t||| ||d d }|j|_ n|r|tr|j}t||| ||d d }|j|_ nj|dk s|dk rt||| d fd ||}|j|_ n2|r(d } nd } |}t d| |d|j|j|S)Nzwhile parsing a nodezfound undefined tag handle %rr TF)FT)FF)styleTZ flow_styleFrCZflowzwhile parsing a %s nodez'expected the node content, but found %r) r)Z AliasTokenr Z AliasEventrr!r"rr;rZ AnchorTokenZTagTokenrrr.BlockEntryTokenZSequenceStartEventparse_indentless_sequence_entryZ ScalarTokenZplain ScalarEventrJZFlowSequenceStartTokenparse_flow_sequence_first_entryZFlowMappingStartTokenMappingStartEventparse_flow_mapping_first_keyZBlockSequenceStartToken parse_block_sequence_first_entryZBlockMappingStartTokenparse_block_mapping_first_keyr8)rrCrGr%r&Zanchortagr!r"Ztag_markr@suffixZimplicitZnoder r r rEs                           zParser.parse_nodecCs|}|j|j|Sr )r rr0r!parse_block_sequence_entryrr%r r r rSxsz'Parser.parse_block_sequence_first_entrycCs|trH|}|tts4|j|j|S|j|_| |j S|tsv| }t d|j dd|j|j|}t|j|j }|j|_|j |S)Nz while parsing a block collection"expected , but found %r)r)rMr BlockEndTokenrr0rWr2rr:r"r.rrr8r!SequenceEndEventr;r$r r r rW}s$       z!Parser.parse_block_sequence_entrycCsr|trL|}|tttts8|j|j| S|j|_ | |j S| }t|j|j}|j|_ |Sr )r)rMr KeyToken ValueTokenr[rr0rNr2rr:r"r.r\r!r;r$r r r rNs   z&Parser.parse_indentless_sequence_entrycCs|}|j|j|Sr )r rr0r!parse_block_mapping_keyrXr r r rTsz$Parser.parse_block_mapping_first_keycCs|trJ|}|ttts6|j|j|S|j|_ | |j S|tsx| }t d|jdd|j|j|}t|j|j }|j|_ |j|S)Nzwhile parsing a block mappingrYrZ)r)r]r r^r[rr0parse_block_mapping_valuerHrr:r"r.rrr8r!MappingEndEventr;r$r r r r_s$      zParser.parse_block_mapping_keycCsl|trL|}|ttts6|j|j|S|j|_ | |j Sn|j|_ | }| |j SdSr )r)r^r r]r[rr0r_rHrr:r"r.r!rXr r r r`s z Parser.parse_block_mapping_valuecCs"|}|j|j|jddSNT)first)r rr0r!parse_flow_sequence_entryrXr r r rPsz&Parser.parse_flow_sequence_first_entrycCs|ts|sF|tr"|n$|}td|jdd|j|j|t r||}t ddd|j|j dd}|j |_ |S|ts|j|j|S|}t|j|j }|j|_ |j|S)Nzwhile parsing a flow sequencerYzexpected ',' or ']', but got %rTrK)r)FlowSequenceEndTokenFlowEntryTokenr r.rrr8r!r]rQr"%parse_flow_sequence_entry_mapping_keyrrr0rdrFr\r;rrcr%r&r r r rds4        z Parser.parse_flow_sequence_entrycCsD|}|ttts,|j|j|S|j|_ | |j SdSr ) r r)r^rfrerr0'parse_flow_sequence_entry_mapping_valuerFrr:r"rXr r r rgsz,Parser.parse_flow_sequence_entry_mapping_keycCsj|trJ|}|tts4|j|j|S|j|_ | |j Sn|j|_ | }| |j SdSr )r)r^r rfrerr0%parse_flow_sequence_entry_mapping_endrFrr:r"r.r!rXr r r ris  z.Parser.parse_flow_sequence_entry_mapping_valuecCs|j|_|}t|j|jSr )rdrr.rar!rXr r r rjsz,Parser.parse_flow_sequence_entry_mapping_endcCs"|}|j|j|jddSrb)r rr0r!parse_flow_mapping_keyrXr r r rRsz#Parser.parse_flow_mapping_first_keycCs|ts|sF|tr"|n$|}td|jdd|j|j|t r|}|t tts||j |j |S|j |_||jSn |ts|j |j|S|}t|j|j}|j |_|j|S)Nzwhile parsing a flow mappingrYzexpected ',' or '}', but got %r)r)FlowMappingEndTokenrfr r.rrr8r!r]r^rr0parse_flow_mapping_valuerFrr:r"parse_flow_mapping_empty_valuerar;rhr r r rks6        zParser.parse_flow_mapping_keycCsj|trJ|}|tts4|j|j|S|j|_ | |j Sn|j|_ | }| |j SdSr )r)r^r rfrlrr0rkrFrr:r"r.r!rXr r r rm9s  zParser.parse_flow_mapping_valuecCs|j|_||jSr )rkrr:r.r!rr r r rnGsz%Parser.parse_flow_mapping_empty_valuecCstdddd||S)NrIrL)rO)rZmarkr r r r:KszParser.process_empty_scalarN)FF)F)F)#rrrr-rrrrrrr#r3r1r9r7r2rFrHrErSrWrNrTr_r`rPrdrgrirjrRrkrmrnr:r r r r rHsD    / g    N)__all__errorrtokensZeventsscannerrrr r r r >s