o �J�h�c�@sNddgZddlmZddlTddlTddlTGdd�de�ZGdd�d�ZdS)�Parser� ParserError�)�MarkedYAMLError)�*c@s eZdZdS)rN)�__name__� __module__� __qualname__�r r �IC:\pinokio\api\whisper-webui.git\app\env\lib\site-packages\yaml\parser.pyrEsc@seZdZddd�Zdd�Zdd�Zdd �Zd d �Zd d �Zdd�Z dd�Z dd�Z dd�Z dd�Z dd�Zdd�Zdd�Zdd�ZdDd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�ZdEd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�ZdEd;d<�Zd=d>�Z d?d@�Z!dAdB�Z"dCS)Fr�!ztag:yaml.org,2002:)r z!!cCs*d|_d|_i|_g|_g|_|j|_dS�N)� current_event� yaml_version� tag_handles�states�marks�parse_stream_start�state��selfr r r �__init__Qs  zParser.__init__cCsg|_d|_dSr )rrrr r r �disposeYs zParser.disposecGsL|jdur |jr |��|_|jdur$|sdS|D] }t|j|�r#dSqdS)NTF)r r� isinstance)r�choices�choicer r r � check_event^s    �zParser.check_eventcCs |jdur |jr |��|_|jSr �r rrr r r � peek_eventks  zParser.peek_eventcCs*|jdur |jr |��|_|j}d|_|Sr r)r�valuer r r � get_eventrs  zParser.get_eventcCs(|��}t|j|j|jd�}|j|_|S)N)�encoding)� get_token�StreamStartEvent� start_mark�end_markr �parse_implicit_document_startr�r�token�eventr r r rs  �zParser.parse_stream_startcCsX|�ttt�s(|j|_|��}|j}}t||dd�}|j � |j �|j |_ |S|��S)NF��explicit)� check_token�DirectiveToken�DocumentStartToken�StreamEndToken� DEFAULT_TAGSr� peek_tokenr#�DocumentStartEventr�append�parse_document_end�parse_block_noder�parse_document_start)rr'r#r$r(r r r r%�s� �z$Parser.parse_implicit_document_startcCs�|�t�r|��|�t�s|�t�sQ|��}|j}|��\}}|�t�s4tddd|��j |��j��|��}|j }t ||d||d�}|j � |j�|j|_|S|��}t|j|j �}|j raJ�|jrfJ�d|_|S)Nz)expected '<document start>', but found %rT)r*�version�tags)r+�DocumentEndTokenr!r.r0r#�process_directivesr-r�idr$r1rr2r3�parse_document_contentr�StreamEndEventr)rr'r#r6r7r$r(r r r r5�s8  �   ����  zParser.parse_document_startcCsL|��}|j}}d}|�t�r|��}|j}d}t|||d�}|j|_|S)NFTr)) r0r#r+r8r!r$�DocumentEndEventr5r)rr'r#r$r*r(r r r r3�s  �zParser.parse_document_endcCs8|�tttt�r|�|��j�}|j� �|_ |S|� �Sr ) r+r,r-r8r.�process_empty_scalarr0r#r�poprr4)rr(r r r r;�s� zParser.parse_document_contentcCsd|_i|_|�t�rZ|��}|jdkr7|jdur!tddd|j��|j\}}|dkr2tddd|j��|j|_n|jdkrU|j\}}||jvrPtddd||j��||j|<|�t�s |jrf|j|j� �f}n|jdf}|j D]}||jvr}|j ||j|<qn|S)N�YAMLzfound duplicate YAML directiverz:found incompatible YAML document (version 1.* is required)�TAGzduplicate tag handle %r) rrr+r,r!�namerr#r�copyr/)rr'�major�minor�handle�prefixr�keyr r r r9�sB   � �    �  �   �zParser.process_directivescCs |jdd�S)NT)�block�� parse_noderr r r r4s zParser.parse_block_nodecCs|��Sr rJrr r r �parse_flow_node szParser.parse_flow_nodecCs|jddd�S)NT)rI�indentless_sequencerJrr r r �'parse_block_node_or_indentless_sequencesz.Parser.parse_block_node_or_indentless_sequenceFc Cs>|�t�r|��}t|j|j|j�}|j��|_ |Sd}d}d}}} |�t �rI|��}|j}|j}|j}|�t �rH|��}|j} |j}|j}n#|�t �rl|��}|j}} |j}|j}|�t �rl|��}|j}|j}|dur�|\} } | dur�| |j vr�t d|d| | ��|j | | }n| }|dur�|��j}}d}|dup�|dk} |r�|�t�r�|��j}t||| ||�}|j|_ |S|�t�r�|��}|j}|jr�|dus�|dkr�d} n |dur�d} nd} t||| |j|||jd�}|j��|_ |S|�t��r|��j}t||| ||dd �}|j|_ |S|�t��r-|��j}t||| ||dd �}|j|_ |S|�rK|�t��rK|��j}t||| ||d d �}|j|_ |S|�ri|�t��ri|��j}t||| ||d d �}|j|_ |S|du�ss|du�r�t||| d fd ||�}|j��|_ |S|�r�d } nd } |��}t d| |d|j|j��)Nzwhile parsing a nodezfound undefined tag handle %rr �TF)FT�FF)�styleT�� flow_styleF�rI�flowzwhile parsing a %s nodez'expected the node content, but found %r) r+� AliasTokenr!� AliasEventrr#r$rr?r� AnchorToken�TagTokenrrr0�BlockEntryToken�SequenceStartEvent�parse_indentless_sequence_entry� ScalarToken�plain� ScalarEventrQ�FlowSequenceStartToken�parse_flow_sequence_first_entry�FlowMappingStartToken�MappingStartEvent�parse_flow_mapping_first_key�BlockSequenceStartToken� parse_block_sequence_first_entry�BlockMappingStartToken�parse_block_mapping_first_keyr:)rrIrMr'r(�anchor�tagr#r$Ztag_markrF�suffix�implicit�noder r r rKs�  _�   �    � �1 � � $ � � � �� �� ���  � �zParser.parse_nodecC�|��}|j�|j�|��Sr )r!rr2r#�parse_block_sequence_entry�rr'r r r rfx�z'Parser.parse_block_sequence_first_entrycCs�|�t�r$|��}|�tt�s|j�|j�|��S|j|_|� |j �S|�t�s;|� �}t d|j dd|j|j��|��}t|j|j �}|j��|_|j ��|S)Nz while parsing a block collection������"expected <block end>, but found %r)r+rZr!� BlockEndTokenrr2ror4rr>r$r0rrr:r#�SequenceEndEventr?r&r r r ro}s"      �  z!Parser.parse_block_sequence_entrycCsr|�t�r&|��}|�tttt�s|j�|j�|� �S|j|_ |� |j �S|� �}t|j|j�}|j��|_ |Sr )r+rZr!�KeyToken� ValueTokenrtrr2r\r4rr>r$r0rur#r?r&r r r r\�s �  z&Parser.parse_indentless_sequence_entrycCrnr )r!rr2r#�parse_block_mapping_keyrpr r r rh�rqz$Parser.parse_block_mapping_first_keycCs�|�t�r%|��}|�ttt�s|j�|j�|��S|j|_ |� |j �S|�t�s<|� �}t d|jdd|j|j��|��}t|j|j �}|j��|_ |j��|S)Nzwhile parsing a block mappingrrrs)r+rvr!rwrtrr2�parse_block_mapping_valuerNrr>r$r0rrr:r#�MappingEndEventr?r&r r r rx�s"     �  zParser.parse_block_mapping_keycCsf|�t�r%|��}|�ttt�s|j�|j�|��S|j|_ |� |j �S|j|_ |� �}|� |j �Sr )r+rwr!rvrtrr2rxrNrr>r$r0r#rpr r r ry�s   z Parser.parse_block_mapping_valuecC�"|��}|j�|j�|jdd�S�NT)�first)r!rr2r#�parse_flow_sequence_entryrpr r r ra�� z&Parser.parse_flow_sequence_first_entrycCs�|�t�sN|s#|�t�r|��n|��}td|jdd|j|j��|�t �r>|��}t ddd|j|j dd�}|j |_ |S|�t�sN|j�|j�|��S|��}t|j|j �}|j��|_ |j��|S)Nzwhile parsing a flow sequencerrzexpected ',' or ']', but got %rTrR)r+�FlowSequenceEndToken�FlowEntryTokenr!r0rrr:r#rvrcr$�%parse_flow_sequence_entry_mapping_keyrrr2r~rLrur?�rr}r'r(r r r r~�s0     � �   z Parser.parse_flow_sequence_entrycCs@|��}|�ttt�s|j�|j�|��S|j|_ |� |j �Sr ) r!r+rwr�r�rr2�'parse_flow_sequence_entry_mapping_valuerLrr>r$rpr r r r��s� z,Parser.parse_flow_sequence_entry_mapping_keycC�d|�t�r$|��}|�tt�s|j�|j�|��S|j|_ |� |j �S|j|_ |� �}|� |j �Sr )r+rwr!r�r�rr2�%parse_flow_sequence_entry_mapping_endrLrr>r$r0r#rpr r r r��    z.Parser.parse_flow_sequence_entry_mapping_valuecCs|j|_|��}t|j|j�Sr )r~rr0rzr#rpr r r r�sz,Parser.parse_flow_sequence_entry_mapping_endcCr{r|)r!rr2r#�parse_flow_mapping_keyrpr r r rdrz#Parser.parse_flow_mapping_first_keycCs�|�t�sX|s#|�t�r|��n|��}td|jdd|j|j��|�t �rH|��}|�t tt�s>|j � |j �|��S|j |_|�|j�S|�t�sX|j � |j�|��S|��}t|j|j�}|j ��|_|j��|S)Nzwhile parsing a flow mappingrrzexpected ',' or '}', but got %r)r+�FlowMappingEndTokenr�r!r0rrr:r#rvrwrr2�parse_flow_mapping_valuerLrr>r$�parse_flow_mapping_empty_valuerzr?r�r r r r�s2     � �    zParser.parse_flow_mapping_keycCr�r )r+rwr!r�r�rr2r�rLrr>r$r0r#rpr r r r�9r�zParser.parse_flow_mapping_valuecCs|j|_|�|��j�Sr )r�rr>r0r#rr r r r�Gsz%Parser.parse_flow_mapping_empty_valuecCstdddd||�S)NrOrT)r_)r�markr r r r>KszParser.process_empty_scalarNrP)F)#rrrr/rrrrrrr%r5r3r;r9r4rLrNrKrfror\rhrxryrar~r�r�r�rdr�r�r�r>r r r r rHsF�    / g    N)�__all__�errorr�tokens�events�scannerrrr r r r �<module>s= 
Memory