Viewing File: /opt/alt/python35/lib64/python3.5/site-packages/yaml/__pycache__/parser.cpython-35.opt-1.pyc



5[c@sgddgZddlmZddlTddlTddlTGdddeZGdddZdS)ParserParserError)MarkedYAMLError)*c@seZdZdS)rN)__name__
__module____qualname__r	r	
/parser.pyrEsc@seZdZddddiZddZddZdd	Zd
dZdd
ZddZ	ddZ
ddZddZddZ
ddZddZddZddZd d d!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd d1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd d;d<Zd=d>Z d?d@Z!dAdBZ"dCS)Dr!z!!ztag:yaml.org,2002:cCs=d|_d|_i|_g|_g|_|j|_dS)N)
current_eventyaml_versiontag_handlesstatesmarksparse_stream_startstate)selfr	r	r
__init__Qs					zParser.__init__cCsg|_d|_dS)N)rr)rr	r	r
disposeYs	zParser.disposecGsk|jdkr'|jr'|j|_|jdk	rg|s@dSx$|D]}t|j|rGdSqGWdS)NTF)rr
isinstance)rchoiceschoicer	r	r
check_event^s	
zParser.check_eventcCs.|jdkr'|jr'|j|_|jS)N)rr)rr	r	r

peek_eventks	zParser.peek_eventcCs=|jdkr'|jr'|j|_|j}d|_|S)N)rr)rvaluer	r	r
	get_eventrs			zParser.get_eventcCs:|j}t|j|jd|j}|j|_|S)Nencoding)	get_tokenZStreamStartEvent
start_markend_markrparse_implicit_document_startr)rtokeneventr	r	r
rs
zParser.parse_stream_startcCs|jtttsr|j|_|j}|j}}t||dd}|j	j
|j|j|_
|S|jSdS)NexplicitF)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_startc	Csx|jtr|jqW|jts|j}|j}|j\}}|jtstddd|jj	|jj|j}|j
}t||ddd|d|}|jj
|j|j|_n*|j}t|j|j
}d|_|S)Nz)expected '<document start>', but found %rr$Tversiontags)r%DocumentEndTokenrr(r*rprocess_directivesr'ridr r+rr,r-parse_document_contentrZStreamEndEvent)rr"rr0r1r r#r	r	r
r/s*		
		zParser.parse_document_startcCsn|j}|j}}d}|jtrI|j}|j}d}t||d|}|j|_|S)NFTr$)	r*rr%r2rr ZDocumentEndEventr/r)rr"rr r$r#r	r	r
r-s
		zParser.parse_document_endcCsT|jttttrF|j|jj}|jj	|_
|S|jSdS)N)r%r&r'r2r(process_empty_scalarr*rrpoprr.)rr#r	r	r
r5s	zParser.parse_document_contentcCspd|_i|_x|jtr|j}|jdkr|jdk	rftddd|j|j\}}|dkrtddd|j|j|_q|jdkr|j\}}||jkrtddd||j||j|<qW|jr&|j|jj	f}n|jdf}x4|j
D])}||jkr?|j
||j|<q?W|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)NblockT)
parse_node)rr	r	r
r.szParser.parse_block_nodecCs
|jS)N)r@)rr	r	r
parse_flow_nodeszParser.parse_flow_nodecCs|jddddS)Nr?Tindentless_sequence)r@)rr	r	r
'parse_block_node_or_indentless_sequencesz.Parser.parse_block_node_or_indentless_sequenceFc	Cs|jtrK|j}t|j|j|j}|jj|_	nMd}d}d}}}	|jt
r|j}|j}|j}|j}|jtr;|j}|j}	|j}|j}ng|jtr;|j}|j}}	|j}|j}|jt
r;|j}|j}|j}|dk	r|\}
}|
dk	r|
|jkrt
d|d|
|	|j|
|}n|}|dkr|jj}}d}|dkp|dk}|r)|jtr)|jj}t|||||}|j|_	no|jtr|j}|j}|jrb|dksn|dkrwd
}n|dkrd}nd}t||||j||d|j}|jj|_	n|jtr|jj}t|||||dd}|j|_	n|jtrd|jj}t|||||dd}|j|_	n4|r|jtr|jj}t|||||dd}|j|_	n|r|jtr|jj}t|||||dd}|j|_	n|dk	s|dk	rTt|||dfd||}|jj|_	nD|rcd	}
nd
}
|j}t
d|
|d|j|j|S)Nzwhile parsing a nodezfound undefined tag handle %rrTFstyle
flow_styler?Zflowzwhile parsing a %s nodez'expected the node content, but found %r)TF)FT)FF) r%Z
AliasTokenrZ
AliasEventrrr rr7rZAnchorTokenZTagTokenrrr*BlockEntryTokenZSequenceStartEventparse_indentless_sequence_entryZScalarTokenZplainScalarEventrDZFlowSequenceStartTokenparse_flow_sequence_first_entryZFlowMappingStartTokenMappingStartEventparse_flow_mapping_first_keyZBlockSequenceStartToken parse_block_sequence_first_entryZBlockMappingStartTokenparse_block_mapping_first_keyr4)rr?rBr"r#Zanchortagrr Ztag_markr<suffixZimplicitZnoder	r	r
r@s					
							!			

zParser.parse_nodecCs)|j}|jj|j|jS)N)rrr,rparse_block_sequence_entry)rr"r	r	r
rMxsz'Parser.parse_block_sequence_first_entrycCs|jtrf|j}|jttsJ|jj|j|jS|j|_|j	|j
S|jts|j}td|j
dd|j|j|j}t|j|j
}|jj|_|j
j|S)Nz while parsing a block collectionrz"expected <block end>, but found %r)r%rGr
BlockEndTokenrr,rQr.rr6r r*rrr4rSequenceEndEventr7)rr"r#r	r	r
rQ}s 

z!Parser.parse_block_sequence_entrycCs|jtrl|j}|jttttsP|jj|j|j	S|j|_
|j|jS|j
}t|j|j}|jj|_
|S)N)r%rGrKeyToken
ValueTokenrSrr,rHr.rr6r r*rTrr7)rr"r#r	r	r
rHs	
z&Parser.parse_indentless_sequence_entrycCs)|j}|jj|j|jS)N)rrr,rparse_block_mapping_key)rr"r	r	r
rNsz$Parser.parse_block_mapping_first_keycCs|jtri|j}|jtttsM|jj|j|jS|j|_	|j
|jS|jts|j}t
d|jdd|j|j|j}t|j|j}|jj|_	|jj|S)Nzwhile parsing a block mappingrz"expected <block end>, but found %rrR)r%rUrrVrSrr,parse_block_mapping_valuerCrr6r r*rrr4rMappingEndEventr7)rr"r#r	r	r
rWs 

zParser.parse_block_mapping_keycCs|jtrl|j}|jtttsM|jj|j|jS|j|_	|j
|jSn(|j|_	|j}|j
|j
SdS)N)r%rVrrUrSrr,rWrCrr6r r*r)rr"r	r	r
rXs
z Parser.parse_block_mapping_valuecCs/|j}|jj|j|jddS)NfirstT)rrr,rparse_flow_sequence_entry)rr"r	r	r
rJsz&Parser.parse_flow_sequence_first_entrycCs"|jts|sc|jtr1|jn2|j}td|jdd|j|j|jt	r|j}t
ddd|j|jdd}|j|_
|S|jts|jj|j|jS|j}t|j|j}|jj|_
|jj|S)Nzwhile parsing a flow sequencerzexpected ',' or ']', but got %rTrErR)r%FlowSequenceEndTokenFlowEntryTokenrr*rrr4rrUrKr %parse_flow_sequence_entry_mapping_keyrrr,r[rArTr7)rrZr"r#r	r	r
r[s,
	

z Parser.parse_flow_sequence_entrycCs^|j}|jttts>|jj|j|jS|j|_	|j
|jSdS)N)rr%rVr]r\rr,'parse_flow_sequence_entry_mapping_valuerArr6r )rr"r	r	r
r^s	
z,Parser.parse_flow_sequence_entry_mapping_keycCs|jtri|j}|jttsJ|jj|j|jS|j|_	|j
|jSn(|j|_	|j}|j
|j
SdS)N)r%rVrr]r\rr,%parse_flow_sequence_entry_mapping_endrArr6r r*r)rr"r	r	r
r_s
z.Parser.parse_flow_sequence_entry_mapping_valuecCs+|j|_|j}t|j|jS)N)r[rr*rYr)rr"r	r	r
r`sz,Parser.parse_flow_sequence_entry_mapping_endcCs/|j}|jj|j|jddS)NrZT)rrr,rparse_flow_mapping_key)rr"r	r	r
rLsz#Parser.parse_flow_mapping_first_keycCs?|jts|sc|jtr1|jn2|j}td|jdd|j|j|jt	r|j}|jt
tts|jj|j
|jS|j
|_|j|jSn,|jts|jj|j|jS|j}t|j|j}|jj|_|jj|S)Nzwhile parsing a flow mappingrzexpected ',' or '}', but got %rrR)r%FlowMappingEndTokenr]rr*rrr4rrUrVrr,parse_flow_mapping_valuerArr6r parse_flow_mapping_empty_valuerYr7)rrZr"r#r	r	r
ras.
	


zParser.parse_flow_mapping_keycCs|jtri|j}|jttsJ|jj|j|jS|j|_	|j
|jSn(|j|_	|j}|j
|j
SdS)N)r%rVrr]rbrr,rarArr6r r*r)rr"r	r	r
rc9s
zParser.parse_flow_mapping_valuecCs"|j|_|j|jjS)N)rarr6r*r)rr	r	r
rdGsz%Parser.parse_flow_mapping_empty_valuecCstdddd||S)NTFrF)TF)rI)rmarkr	r	r
r6KszParser.process_empty_scalarN)#rrrr)rrrrrrr!r/r-r5r3r.rArCr@rMrQrHrNrWrXrJr[r^r_r`rLrarcrdr6r	r	r	r
rHsB

	/g
N)__all__errorrtokenseventsscannerrrr	r	r	r
<module>>s



Back to Directory File Manager