B Ïñ¢dEã@sFddgZddlmZddlTddlTGdd„deƒZGdd„dƒZdS)Ú SerializerÚSerializerErroré)Ú YAMLError)Ú*c@s eZdZdS)rN)Ú__name__Ú __module__Ú __qualname__©r r ú6/tmp/pip-target-jj3kjtpb/lib/python/yaml/serializer.pyrsc@sJeZdZdZddd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dS)rzid%03dNcCs:||_||_||_||_||_i|_i|_d|_d|_dS)Né) Ú use_encodingÚuse_explicit_startÚuse_explicit_endÚ use_versionÚuse_tagsÚserialized_nodesÚanchorsÚlast_anchor_idÚclosed)ÚselfÚencodingZexplicit_startZ explicit_endÚversionÚtagsr r r Ú__init__szSerializer.__init__cCs@|jdkr$| t|jd¡d|_n|jr4tdƒ‚ntdƒ‚dS)N)rFzserializer is closedzserializer is already opened)rÚemitZStreamStartEventr r)rr r r Úopens   zSerializer.opencCs0|jdkrtdƒ‚n|js,| tƒ¡d|_dS)Nzserializer is not openedT)rrrZStreamEndEvent)rr r r Úclose$s    zSerializer.closecCs||jdkrtdƒ‚n|jr"tdƒ‚| t|j|j|jd¡| |¡| |dd¡| t |j d¡i|_ i|_ d|_ dS)Nzserializer is not openedzserializer is closed)Úexplicitrr)rr )rrrZDocumentStartEventr rrÚ anchor_nodeÚserialize_nodeZDocumentEndEventrrrr)rÚnoder r r Ú serialize.s    zSerializer.serializecCs||jkr*|j|dkrŒ| |¡|j|<nbd|j|<t|tƒrZxL|jD]}| |¡qFWn2t|tƒrŒx&|jD]\}}| |¡| |¡qlWdS)N)rÚgenerate_anchorÚ isinstanceÚ SequenceNodeÚvaluerÚ MappingNode)rr ÚitemÚkeyr%r r r r<s      zSerializer.anchor_nodecCs|jd7_|j|jS)Nr)rÚANCHOR_TEMPLATE)rr r r r r"JszSerializer.generate_anchorc Cs”|j|}||jkr&| t|ƒ¡njd|j|<| ||¡t|tƒrš| t|jd¡}| t|jd¡}|j |k|j |kf}| t ||j ||j|j d¡nît|t ƒr|j | t |jd¡k}| t ||j ||jd¡d}x$|jD]}| |||¡|d7}qâW| tƒ¡nzt|tƒrˆ|j | t|jd¡k}| t||j ||jd¡x0|jD]&\} } | | |d¡| | || ¡qRW| tƒ¡| ¡dS)NT)TF)FT)Ústyle)Ú flow_styler r)rrrZ AliasEventZdescend_resolverr#Z ScalarNodeÚresolver%ÚtagZ ScalarEventr*r$ZSequenceStartEventr+rZSequenceEndEventr&ZMappingStartEventZMappingEndEventZascend_resolver) rr ÚparentÚindexÚaliasZ detected_tagÚ default_tagZimplicitr'r(r%r r r rNs>            zSerializer.serialize_node)NNNNN) rrrr)rrrr!rr"rr r r r r s   N)Ú__all__ÚerrorrÚeventsZnodesrrr r r r Ús