B b`c@sNddgZddlmZddlTddlTddlTGdddeZGdddZdS)Parser ParserError)MarkedYAMLError)*c@s eZdZdS)rN)__name__ __module__ __qualname__r r >/opt/alt/python37/lib64/python3.7/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|_dS)N) current_event yaml_version tag_handlesstatesmarksparse_stream_startstate)selfr r r __init__Qs zParser.__init__cCsg|_d|_dS)N)rr)rr r r disposeYszParser.disposecGsN|jdkr|jr||_|jdk rJ|s,dSx|D]}t|j|r2dSq2WdS)NTF)r r isinstance)rchoiceschoicer r r check_event^s     zParser.check_eventcCs |jdkr|jr||_|jS)N)r r)rr r r peek_eventks  zParser.peek_eventcCs*|jdkr|jr||_|j}d|_|S)N)r r)rvaluer r r get_eventrs   zParser.get_eventcCs(|}t|j|j|jd}|j|_|S)N)encoding) get_tokenZStreamStartEvent start_markend_markrparse_implicit_document_startr)rtokeneventr r r rs   zParser.parse_stream_startcCs\|tttsP|j|_|}|j}}t||dd}|j |j |j |_ |S|SdS)NF)explicit) check_tokenDirectiveTokenDocumentStartTokenStreamEndToken DEFAULT_TAGSr peek_tokenrDocumentStartEventrappendparse_document_endparse_block_noderparse_document_start)rr"rr r#r r r r!s z$Parser.parse_implicit_document_startcCsx|tr|qW|ts|}|j}|\}}|tsdtddd|j |j|}|j }t ||d||d}|j |j|j|_n0|}t|j|j }|j rt|jrtd|_|S)Nz)expected '', but found %rT)r$versiontags)r%DocumentEndTokenrr(r*rprocess_directivesr'ridr r+rr,r-parse_document_contentrZStreamEndEventAssertionErrorr)rr"rr0r1r r#r r r r/s.           zParser.parse_document_startcCsL|}|j}}d}|tr2|}|j}d}t|||d}|j|_|S)NFT)r$) r*rr%r2rr ZDocumentEndEventr/r)rr"rr r$r#r r r r-s  zParser.parse_document_endcCs<|ttttr0||j}|j |_ |S| SdS)N) r%r&r'r2r(process_empty_scalarr*rrpoprr.)rr#r r r r5s   zParser.parse_document_contentcCsd|_i|_x|tr|}|jdkrp|jdk rDtddd|j|j\}}|dkrftddd|j|j|_q|jdkr|j\}}||jkrtddd||j||j|<qW|jr|j|j f}n |jdf}x(|j D]}||jkr|j ||j|<qW|S)NZYAMLzfound duplicate YAML directiverz:found incompatible YAML document (version 1.* is required)ZTAGzduplicate tag handle %r) r rr%r&rnamerrrcopyr))rr"majorminorhandleprefixrkeyr r r r3s8            zParser.process_directivescCs |jddS)NT)block) parse_node)rr r r r.szParser.parse_block_nodecCs|S)N)rA)rr r r parse_flow_node szParser.parse_flow_nodecCs|jdddS)NT)r@indentless_sequence)rA)rr 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)styleT) flow_styleFr@Zflowzwhile parsing a %s nodez'expected the node content, but found %r) r%Z AliasTokenrZ AliasEventrrr rr8rZ AnchorTokenZTagTokenrrr*BlockEntryTokenZSequenceStartEventparse_indentless_sequence_entryZ ScalarTokenplain ScalarEventrEZFlowSequenceStartTokenparse_flow_sequence_first_entryZFlowMappingStartTokenMappingStartEventparse_flow_mapping_first_keyZBlockSequenceStartToken parse_block_sequence_first_entryZBlockMappingStartTokenparse_block_mapping_first_keyr4)rr@rCr"r#anchortagrr Ztag_markr=suffixZimplicitnoder r r rAs                               zParser.parse_nodecCs|}|j|j|S)N)rrr,rparse_block_sequence_entry)rr"r r r rOxsz'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 collectionz"expected , but found %r)r%rHr BlockEndTokenrr,rUr.rr7r r*rrr4rSequenceEndEventr8)rr"r#r r r rU}s        z!Parser.parse_block_sequence_entrycCsr|trL|}|tttts8|j|j| S|j|_ | |j S| }t|j|j}|j|_ |S)N)r%rHrKeyToken ValueTokenrWrr,rIr.rr7r r*rXrr8)rr"r#r r r rIs    z&Parser.parse_indentless_sequence_entrycCs|}|j|j|S)N)rrr,rparse_block_mapping_key)rr"r r r rPsz$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 mappingrVz"expected , but found %r)r%rYrrZrWrr,parse_block_mapping_valuerDrr7r r*rrr4rMappingEndEventr8)rr"r#r r r r[s       zParser.parse_block_mapping_keycCsl|trL|}|ttts6|j|j|S|j|_ | |j Sn|j|_ | }| |j SdS)N)r%rZrrYrWrr,r[rDrr7r r*r)rr"r r r r\s z Parser.parse_block_mapping_valuecCs"|}|j|j|jddS)NT)first)rrr,rparse_flow_sequence_entry)rr"r r r rLsz&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 sequencerVzexpected ',' or ']', but got %rT)rF)r%FlowSequenceEndTokenFlowEntryTokenrr*rrr4rrYrMr %parse_flow_sequence_entry_mapping_keyrrr,r_rBrXr8)rr^r"r#r r r r_s,        z Parser.parse_flow_sequence_entrycCsD|}|ttts,|j|j|S|j|_ | |j SdS)N) rr%rZrar`rr,'parse_flow_sequence_entry_mapping_valuerBrr7r )rr"r r r rbsz,Parser.parse_flow_sequence_entry_mapping_keycCsj|trJ|}|tts4|j|j|S|j|_ | |j Sn|j|_ | }| |j SdS)N)r%rZrrar`rr,%parse_flow_sequence_entry_mapping_endrBrr7r r*r)rr"r r r rcs  z.Parser.parse_flow_sequence_entry_mapping_valuecCs|j|_|}t|j|jS)N)r_rr*r]r)rr"r r r rdsz,Parser.parse_flow_sequence_entry_mapping_endcCs"|}|j|j|jddS)NT)r^)rrr,rparse_flow_mapping_key)rr"r r r rNsz#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 mappingrVzexpected ',' or '}', but got %r)r%FlowMappingEndTokenrarr*rrr4rrYrZrr,parse_flow_mapping_valuerBrr7r parse_flow_mapping_empty_valuer]r8)rr^r"r#r r r res.        zParser.parse_flow_mapping_keycCsj|trJ|}|tts4|j|j|S|j|_ | |j Sn|j|_ | }| |j SdS)N)r%rZrrarfrr,rerBrr7r r*r)rr"r r r rg9s  zParser.parse_flow_mapping_valuecCs|j|_||jS)N)rerr7r*r)rr r r rhGsz%Parser.parse_flow_mapping_empty_valuecCstdddd||S)N)TFrG)rK)rZmarkr r r r7KszParser.process_empty_scalarN)FF)F)F)#rrrr)rrrrrrr!r/r-r5r3r.rBrDrArOrUrIrPr[r\rLr_rbrcrdrNrergrhr7r r r r rHsB    / g    N)__all__errorrtokenseventsscannerrrr r r r >s