o
    shE                     @   sF   d dgZ ddlmZ ddlT ddlT G dd deZG dd  d ZdS )
SerializerSerializerError   )	YAMLError)*c                   @   s   e Zd ZdS )r   N)__name__
__module____qualname__ r	   r	   c/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/yaml/serializer.pyr      s    c                   @   sN   e Zd ZdZ		dddZdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dS )r   zid%03dNc                 C   s:   || _ || _|| _|| _|| _i | _i | _d| _d | _d S )N    )	use_encodinguse_explicit_startuse_explicit_enduse_versionuse_tagsserialized_nodesanchorslast_anchor_idclosed)selfencodingexplicit_startexplicit_endversiontagsr	   r	   r
   __init__   s   
zSerializer.__init__c                 C   s<   | j d u r| t| jd d| _ d S | j rtdtd)N)r   Fserializer is closedzserializer is already opened)r   emitStreamStartEventr   r   r   r	   r	   r
   open   s   

zSerializer.openc                 C   s2   | j d u r	td| j s| t  d| _ d S d S )Nserializer is not openedT)r   r   r   StreamEndEventr   r	   r	   r
   close$   s   

zSerializer.closec                 C   sz   | j d u r	td| j rtd| t| j| j| jd | | | |d d  | t	| j
d i | _i | _d| _d S )Nr!   r   )explicitr   r   )r$   r   )r   r   r   DocumentStartEventr   r   r   anchor_nodeserialize_nodeDocumentEndEventr   r   r   r   r   noder	   r	   r
   	serialize.   s   



zSerializer.serializec                 C   s   || j v r| j | d u r| || j |< d S d S d | j |< t|tr/|jD ]}| | q%d S t|trF|jD ]\}}| | | | q7d S d S )N)r   generate_anchor
isinstanceSequenceNodevaluer&   MappingNode)r   r*   itemkeyr/   r	   r	   r
   r&   <   s   





zSerializer.anchor_nodec                 C   s   |  j d7  _ | j| j  S )Nr   )r   ANCHOR_TEMPLATEr)   r	   r	   r
   r,   J   s   zSerializer.generate_anchorc              	   C   s  | j | }|| jv r| t| d S d| j|< | || t|trM| t|jd}| t|jd}|j	|k|j	|kf}| t
||j	||j|jd npt|tr|j	| t|jdk}| t||j	||jd d}|jD ]}| ||| |d7 }qo| t  n9t|tr|j	| t|jdk}| t||j	||jd |jD ]\}	}
| |	|d  | |
||	 q| t  |   d S )NT)TF)FT)style)
flow_styler   r   )r   r   r   
AliasEventdescend_resolverr-   
ScalarNoderesolver/   tagScalarEventr4   r.   SequenceStartEventr5   r'   SequenceEndEventr0   MappingStartEventMappingEndEventascend_resolver)r   r*   parentindexaliasdetected_tagdefault_tagimplicitr1   r2   r/   r	   r	   r
   r'   N   sH   








zSerializer.serialize_node)NNNNN)r   r   r   r3   r   r    r#   r+   r&   r,   r'   r	   r	   r	   r
   r      s    
	
N)__all__errorr   eventsnodesr   r   r	   r	   r	   r
   <module>   s   