Viewing File: /opt/alt/python35/lib64/python3.5/site-packages/yaml/__pycache__/composer.cpython-35.pyc
!w:[ ã @ s] d d g Z d d l m Z d d l Td d l TGd d „ d e ƒ Z Gd d „ d ƒ Z d S)ÚComposerÚ
ComposerErroré )ÚMarkedYAMLError)Ú*c @ s e Z d Z d S)r N)Ú__name__Ú
__module__Ú__qualname__© r r ú/composer.pyr s c @ s| e Z d Z d d „ Z d d „ Z d d „ Z d d „ Z d d
„ Z d d „ Z d
d „ Z d d „ Z
d d „ Z d S)r c C s
i | _ d S)N)Úanchors)Úselfr r r
Ú__init__
s zComposer.__init__c C s' | j t ƒ r | j ƒ | j t ƒ S)N)Úcheck_eventZStreamStartEventÚ get_eventÚStreamEndEvent)r r r r
Ú
check_node s
zComposer.check_nodec C s | j t ƒ s | j ƒ Sd S)N)r r Úcompose_document)r r r r
Úget_node s zComposer.get_nodec C so | j ƒ d } | j t ƒ s+ | j ƒ } | j t ƒ sa | j ƒ } t d | j d | j ƒ ‚ | j ƒ | S)Nz(expected a single document in the streamzbut found another document)r r r r r Ú
start_mark)r ZdocumentÚeventr r r
Úget_single_node s
zComposer.get_single_nodec C s3 | j ƒ | j d d ƒ } | j ƒ i | _ | S)N)r Úcompose_noder )r Únoder r r
r 2 s
zComposer.compose_documentc C s. | j t ƒ rZ | j ƒ } | j } | | j k rO t d d d | | j ƒ ‚ | j | S| j ƒ } | j } | d k r° | | j k r° t d | | j | j d | j ƒ ‚ | j | | ƒ | j t ƒ rá | j
| ƒ } n? | j t ƒ r| j | ƒ } n | j t
ƒ r | j | ƒ } | j ƒ | S)Nzfound undefined alias %rz*found duplicate anchor %r; first occurencezsecond occurence)r Z
AliasEventr Úanchorr r r Z
peek_eventZdescend_resolverZScalarEventÚcompose_scalar_nodeZSequenceStartEventÚcompose_sequence_nodeZMappingStartEventÚcompose_mapping_nodeZascend_resolver)r ÚparentÚindexr r r r r r
r ? s.
zComposer.compose_nodec C sŒ | j ƒ } | j } | d k s- | d k rH | j t | j | j ƒ } t | | j | j | j d | j ƒ} | d k rˆ | | j | <| S)Nú!Ústyle)
r ÚtagÚresolveZ
ScalarNodeÚvalueÚimplicitr Úend_markr r )r r r r! r r r r
r X s
zComposer.compose_scalar_nodec C sÝ | j ƒ } | j } | d k s- | d k rE | j t d | j ƒ } t | g | j d d | j ƒ} | d k r | | j | <d } x9 | j t ƒ sÀ | j
j | j | | ƒ ƒ | d 7} qˆ W| j ƒ } | j
| _
| S)Nr Ú
flow_styleé r )r r! r"