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



!w:[ã@s]ddgZddlmZddlTddlTGdd„deƒZGdd„dƒZdS)ÚComposerÚ
ComposerErroré)ÚMarkedYAMLError)Ú*c@seZdZdS)rN)Ú__name__Ú
__module__Ú__qualname__©r	r	ú/composer.pyrsc@s|eZdZdd„Zdd„Zdd„Zdd„Zd	d
„Zdd„Zd
d„Z	dd„Z
dd„ZdS)rcCs
i|_dS)N)Úanchors)Úselfr	r	r
Ú__init__
szComposer.__init__cCs'|jtƒr|jƒ|jtƒS)N)Úcheck_eventZStreamStartEventÚ	get_eventÚStreamEndEvent)rr	r	r
Ú
check_nodes
zComposer.check_nodecCs|jtƒs|jƒSdS)N)rrÚcompose_document)rr	r	r
Úget_nodeszComposer.get_nodecCso|jƒd}|jtƒs+|jƒ}|jtƒsa|jƒ}td|jd|jƒ‚|jƒ|S)Nz(expected a single document in the streamzbut found another document)rrrrrÚ
start_mark)rZdocumentÚeventr	r	r
Úget_single_nodes
	
zComposer.get_single_nodecCs3|jƒ|jddƒ}|jƒi|_|S)N)rÚcompose_noder)rÚnoder	r	r
r2s


	zComposer.compose_documentcCs.|jtƒrZ|jƒ}|j}||jkrOtddd||jƒ‚|j|S|jƒ}|j}|dk	r°||jkr°td||j|jd|jƒ‚|j||ƒ|jt	ƒrá|j
|ƒ}n?|jtƒr|j|ƒ}n|jt
ƒr |j|ƒ}|jƒ|S)Nzfound undefined alias %rz*found duplicate anchor %r; first occurencezsecond occurence)rZ
AliasEventrÚanchorrrrZ
peek_eventZdescend_resolverZScalarEventÚcompose_scalar_nodeZSequenceStartEventÚcompose_sequence_nodeZMappingStartEventÚcompose_mapping_nodeZascend_resolver)rÚparentÚindexrrrr	r	r
r?s.		
zComposer.compose_nodecCsŒ|jƒ}|j}|dks-|dkrH|jt|j|jƒ}t||j|j|jd|jƒ}|dk	rˆ||j	|<|S)Nú!Ústyle)
rÚtagÚresolveZ
ScalarNodeÚvalueÚimplicitrÚend_markr r)rrrr!rr	r	r
rXs	
zComposer.compose_scalar_nodecCsÝ|jƒ}|j}|dks-|dkrE|jtd|jƒ}t|g|jdd|jƒ}|dk	r||j|<d}x9|jt	ƒsÀ|j
j|j||ƒƒ|d7}qˆW|jƒ}|j
|_
|S)NrÚ
flow_styleér)rr!r"ZSequenceNoder$rr&rrZSequenceEndEventr#Úappendrr%)rrÚstart_eventr!rrÚ	end_eventr	r	r
rcs 		
zComposer.compose_sequence_nodecCsë|jƒ}|j}|dks-|dkrE|jtd|jƒ}t|g|jdd|jƒ}|dk	r||j|<xM|jt	ƒsÎ|j
|dƒ}|j
||ƒ}|jj||fƒq‚W|jƒ}|j
|_
|S)Nrr&)rr!r"ZMappingNoder$rr&rrZMappingEndEventrr#r(r%)rrr)r!rZitem_keyZ
item_valuer*r	r	r
rus 		
zComposer.compose_mapping_nodeN)rrrr
rrrrrrrrr	r	r	r
rs
N)Ú__all__ÚerrorrÚeventsZnodesrrr	r	r	r
Ú<module>s



Back to Directory File Manager