o ¬£`ã@sFddgZddlmZddlTddlTGdd„deƒZGdd„dƒZdS)ÚComposerÚ ComposerErroré)ÚMarkedYAMLError)Ú*c@s eZdZdS)rN)Ú__name__Ú __module__Ú __qualname__©r r ú//usr/lib/python3/dist-packages/yaml/composer.pyrsc@sTeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dS)rcCs i|_dS©N)Úanchors©Úselfr r r Ú__init__ s zComposer.__init__cCs| t¡r | ¡| t¡ Sr )Ú check_eventÚStreamStartEventÚ get_eventÚStreamEndEventr r r r Ú check_nodes  zComposer.check_nodecCs| t¡s | ¡SdSr )rrÚcompose_documentr r r r Úget_nodes ÿzComposer.get_nodecCsN| ¡d}| t¡s| ¡}| t¡s!| ¡}td|jd|jƒ‚| ¡|S)Nz(expected a single document in the streamzbut found another document)rrrrrÚ start_mark)rÚdocumentÚeventr r r Úget_single_nodes  þzComposer.get_single_nodecCs&| ¡| dd¡}| ¡i|_|Sr )rÚ compose_noder )rÚnoder r r r2s  zComposer.compose_documentcCsÔ| t¡r | ¡}|j}||jvrtddd||jƒ‚|j|S| ¡}|j}|dur>||jvr>td||j|jd|jƒ‚| ||¡| t ¡rO|  |¡}n| t ¡rZ|  |¡}n | t ¡rd| |¡}| ¡|S)Nzfound undefined alias %rz+found duplicate anchor %r; first occurrencezsecond occurrence)rÚ AliasEventrÚanchorr rrÚ peek_eventÚdescend_resolverÚ ScalarEventÚcompose_scalar_nodeÚSequenceStartEventÚcompose_sequence_nodeÚMappingStartEventÚcompose_mapping_nodeÚascend_resolver)rÚparentÚindexrrrr r r r?s:  ÿÿ  ÿ þ       zComposer.compose_nodecCs`| ¡}|j}|dus|dkr| t|j|j¡}t||j|j|j|jd}|dur.||j |<|S)Nú!)Ústyle) rÚtagÚresolveÚ ScalarNodeÚvalueÚimplicitrÚend_markr+r )rrrr,rr r r r"Xs ÿ zComposer.compose_scalar_nodecCsž| ¡}|j}|dus|dkr| td|j¡}t|g|jd|jd}|dur+||j|<d}| t ¡sE|j   |  ||¡¡|d7}| t ¡r2| ¡}|j |_ |S)Nr*©Ú flow_styleér)rr,r-Ú SequenceNoder0rr3r rÚSequenceEndEventr/Úappendrr1)rrÚ start_eventr,rr)Ú end_eventr r r r$cs$þ   þzComposer.compose_sequence_nodecCs¦| ¡}|j}|dus|dkr| td|j¡}t|g|jd|jd}|dur+||j|<| t ¡sI|  |d¡}|  ||¡}|j   ||f¡| t ¡r0| ¡}|j |_ |S)Nr*r2)rr,r-Ú MappingNoder0rr3r rÚMappingEndEventrr/r7r1)rrr8r,rÚitem_keyÚ item_valuer9r r r r&us$þ     ø zComposer.compose_mapping_nodeN) rrrrrrrrrr"r$r&r r r r r s  N)Ú__all__ÚerrorrÚeventsÚnodesrrr r r r Ús