
    .Ph                         d dl mZ d dlZd dlmZmZ d dlmZmZ d dl	m
Z
mZmZmZmZmZmZmZ d dlmZmZmZ 	 d	d
gZ G d d
e          Z G d d	          ZdS )    )annotationsN)MarkedYAMLErrorReusedAnchorWarning)nprintnprintf)StreamStartEventStreamEndEventMappingStartEventMappingEndEventSequenceStartEventSequenceEndEvent
AliasEventScalarEvent)MappingNode
ScalarNodeSequenceNodeF)AnyDictOptionalListComposerComposerErrorc                      e Zd ZdS )r   N)__name__
__module____qualname__     T/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/ruamel/yaml/composer.pyr   r      s        Dr   c                      e Zd ZdddZedd            Ze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 dZd!dZdS )"r   Nloaderr   returnNonec                    || _         | j         "t          | j         dd           | | j         _        i | _        d| _        d S )N	_composerT)r!   getattrr%   anchorswarn_double_anchors)selfr!   s     r   __init__zComposer.__init__    sC    ;"wt{K'N'N'V$(DK!')#'   r   c                \    t          | j        d          r| j        j         | j        j        S Ntyp)hasattrr!   parser_parserr)   s    r   r/   zComposer.parser'   s,    4;&& 	K{""r   c                \    t          | j        d          r| j        j         | j        j        S r,   )r.   r!   resolver	_resolverr1   s    r   r3   zComposer.resolver-   s.     4;&& 	!K  {$$r   c                    | j                             t                    r| j                                          | j                             t                     S N)r/   check_eventr   	get_eventr	   r1   s    r   
check_nodezComposer.check_node4   sJ    ;""#344 	$K!!### ;**>::::r   c                l    | j                             t                    s|                                 S d S r6   )r/   r7   r	   compose_documentr1   s    r   get_nodezComposer.get_node<   s6    {&&~66 	+((***	+ 	+r   c                |   | j                                          d }| j                             t                    s|                                 }| j                             t                    s5| j                                         }t          d|j        d|j                  | j                                          |S )Nz(expected a single document in the streamzbut found another document)r/   r8   r7   r	   r;   r   
start_mark)r)   documentevents      r   get_single_nodezComposer.get_single_nodeA   s     {&&~66 	/,,..H {&&~66 	K))++E:#, 	   	r   r)   c                    i | _         | j                                         |                     d d           }| j                                         |S r6   )r'   r/   r8   compose_node)r)   nodes     r   r;   zComposer.compose_documentY   sO       t,, 	r   ac                    |S r6   r   )r)   rE   s     r   return_aliaszComposer.return_aliasf   s    r   parentindexc                   | j                             t                    rc| j                                         }|j        }|| j        vrt          d d d||j                  |                     | j        |                   S | j         	                                }|j        }|L| j
        rE|| j        v r<d|d| j        |         j         d|j         }t          j        |t          d           | j                            ||           | j                             t                     r|                     |          }ni| j                             t$                    r|                     |          }n4| j                             t(                    r|                     |          }| j                                         |S )Nzfound undefined alias z
found duplicate anchor z
first occurrence z
second occurrence    )
stacklevel)r/   r7   r   r8   anchorr'   r   r>   rG   
peek_eventr(   warningswarnr   r3   descend_resolverr   compose_scalar_noder   compose_sequence_noder
   compose_mapping_nodeascend_resolver)r)   rH   rI   r@   aliasrM   wsrD   s           r   rC   zComposer.compose_nodei   s   ;"":.. 	:K))++ELEDL((#$ B B BEDT   $$T\%%8999&&((' EFdl,B,B< < <(,V(<(G< <).)9< < 
 b"5!DDDD&&vu555;"";// 	5++F33DD[$$%788 	5--f55DD[$$%677 	5,,V44D%%'''r   rM   c           	     j   | j                                         }|j        }|t          |          dk    rB| j                            t          |j        |j                  }t          |t                    rJ t          ||j        |j
        |j        |j        |j        |          }|
|| j        |<   |S )N!)stylecommentrM   )r/   r8   ctagstrr3   resolver   valueimplicit
isinstancer>   end_markrZ   r[   r'   )r)   rM   r@   tagrD   s        r   rR   zComposer.compose_scalar_node   s    %%''j;#c((c//-''
EKPPC!#s+++++KN+M
 
 
 #'DL r   c           	     $   | j                                         }|j        }|t          |          dk    r=| j                            t          d |j                  }t          |t                    rJ t          |g |j	        d |j
        |j        |          }|
|| j        |<   d}| j                             t                    sR|j                            |                     ||                     |dz  }| j                             t                    R| j                                         }|j
        du r5|j        .|j        |j
        }t%          d| dd           |j        |_        |j        |_        |                     ||           |S )	NrY   
flow_styler[   rM   r      Tz8Warning: unexpected end_event commment in sequence node 
zC    if possible, please report an issue with reproducable data/code)r/   r8   r\   r]   r3   r^   r   r`   ra   r>   rf   r[   r'   r7   r   r_   appendrC   r   rb   check_end_doc_comment)r)   rM   start_eventrc   rD   rI   	end_eventxs           r   rS   zComposer.compose_sequence_node   s   k++--;#c((c//-''dK<PQQC!#s+++++""-'
 
 
 #'DL +))*:;; 	Jd//e<<===QJE +))*:;; 	 K))++	?d""y'8'D|'OTqTTTY   %,DL!*""9d333r   c           	        | j                                         }|j        }|t          |          dk    r=| j                            t          d |j                  }t          |t                    rJ t          |g |j	        d |j
        |j        |          }|
|| j        |<   | j                             t                    sg|                     |d           }|                     ||          }|j                            ||f           | j                             t                    g| j                                         }|j
        du r|j        |j        |_        |j        |_        |                     ||           |S )NrY   re   T)r/   r8   r\   r]   r3   r^   r   r`   ra   r>   rf   r[   r'   r7   r   rC   r_   ri   rb   rj   )r)   rM   rk   rc   rD   item_key
item_valuerl   s           r   rT   zComposer.compose_mapping_node   sz   k++--;#c((c//-''T;;OPPC!#s+++++""-'
 
 
 #'DL +))/:: 		6((t44H
 **4::JJx4555 +))/:: 		6 K))++	?d""y'8'D$,DL!*""9d333r   rl   rD   c                    |j         re|j         d         rZ|j         	d d g|_         t          |t                    rJ |j                             |j         d                    d |j         d<   d S d S d S )Nrg   )r[   ra   r   ri   )r)   rl   rD   s      r   rj   zComposer.check_end_doc_comment   s     	(!21!5 	(|# $d|!$44444 L	 1! 4555#'Ia   	( 	( 	( 	(r   r6   )r!   r   r"   r#   )r"   r   )r)   r   r"   r   )rE   r   r"   r   )rH   r   rI   r   r"   r   )rM   r   r"   r   )rl   r   rD   r   r"   r#   )r   r   r   r*   propertyr/   r3   r9   r<   rA   r;   rG   rC   rR   rS   rT   rj   r   r   r   r   r      s7       ( ( ( ( ( # # # X#
 % % % X%; ; ; ;+ + + +
   0         :   (       D       D	( 	( 	( 	( 	( 	(r   )
__future__r   rO   ruamel.yaml.errorr   r   ruamel.yaml.compatr   r   ruamel.yaml.eventsr   r	   r
   r   r   r   r   r   ruamel.yaml.nodesr   r   r   typingr   r   r   r   __all__r   r   r   r   r   <module>rz      sL   " " " " " "  B B B B B B B B . . . . . . . .	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 D C C C C C C C C C1 
'	 	 	 	 	O 	 	 	H( H( H( H( H( H( H( H( H( H(r   