B b�`E�@sFddgZddlmZddlTddlTGdd�de�ZGdd�d�ZdS)� Serializer�SerializerError�)� YAMLError)�*c@s eZdZdS)rN)�__name__� __module__� __qualname__�r r �B/opt/alt/python37/lib64/python3.7/site-packages/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 ScalarNodeZresolver%�tagZ ScalarEventr*r$ZSequenceStartEventr+rZSequenceEndEventr&ZMappingStartEventZMappingEndEventZascend_resolver) rr �parent�index�aliasZ detected_tagZ 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