o
    ,׾gc                     @   sN   d dgZ ddlmZ ddlT ddlT ddlT G dd deZG dd  d ZdS )ParserParserError   )MarkedYAMLError)*c                   @   s   e Zd ZdS )r   N)__name__
__module____qualname__ r	   r	   U/var/www/html/backend_erp/backend_erp_env/lib/python3.10/site-packages/yaml/parser.pyr   E   s    c                   @   s  e 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d Z
dd Zdd Zdd Zdd Zdd Zdd Zdd ZdDd!d"Zd#d$ Zd%d& Zd'd( Zd)d* Zd+d, Zd-d. Zd/d0 ZdEd1d2Zd3d4 Zd5d6 Zd7d8 Zd9d: ZdEd;d<Zd=d> Z d?d@ Z!dAdB Z"dCS )Fr   !ztag:yaml.org,2002:)r   z!!c                 C   s*   d | _ d | _i | _g | _g | _| j| _d S N)current_eventyaml_versiontag_handlesstatesmarksparse_stream_startstateselfr	   r	   r
   __init__Q   s   zParser.__init__c                 C   s   g | _ d | _d S r   )r   r   r   r	   r	   r
   disposeY   s   
zParser.disposec                 G   sL   | j d u r| jr|  | _ | j d ur$|sdS |D ]}t| j |r# dS qdS )NTF)r   r   
isinstance)r   choiceschoicer	   r	   r
   check_event^   s   


zParser.check_eventc                 C   s    | j d u r| jr|  | _ | j S r   r   r   r   r	   r	   r
   
peek_eventk   s   

zParser.peek_eventc                 C   s*   | j d u r| jr|  | _ | j }d | _ |S r   r   )r   valuer	   r	   r
   	get_eventr   s   

zParser.get_eventc                 C   s(   |   }t|j|j|jd}| j| _|S )N)encoding)	get_tokenStreamStartEvent
start_markend_markr    parse_implicit_document_startr   r   tokeneventr	   r	   r
   r      s   
zParser.parse_stream_startc                 C   sX   |  ttts(| j| _|  }|j }}t||dd}| 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)r   r'   r#   r$   r(   r	   r	   r
   r%      s   
z$Parser.parse_implicit_document_startc                 C   s   |  tr|   |  ts|  tsQ|  }|j}|  \}}|  ts4td d d|  j	 |  j|  }|j
}t||d||d}| j| j | j| _|S |  }t|j|j
}| jraJ | jrfJ d | _|S )Nz)expected '<document start>', but found %rT)r*   versiontags)r+   DocumentEndTokenr!   r.   r0   r#   process_directivesr-   r   idr$   r1   r   r2   r3   parse_document_contentr   StreamEndEventr   )r   r'   r#   r6   r7   r$   r(   r	   r	   r
   r5      s8   





zParser.parse_document_startc                 C   sL   |   }|j }}d}| tr|  }|j}d}t|||d}| j| _|S )NFTr)   )	r0   r#   r+   r8   r!   r$   DocumentEndEventr5   r   )r   r'   r#   r$   r*   r(   r	   r	   r
   r3      s   

zParser.parse_document_endc                 C   s8   |  ttttr| |  j}| j	 | _
|S |  S r   )r+   r,   r-   r8   r.   process_empty_scalarr0   r#   r   popr   r4   )r   r(   r	   r	   r
   r;      s   zParser.parse_document_contentc                 C   s   d | _ i | _| trZ|  }|jdkr7| j d ur!td d d|j|j\}}|dkr2td d d|j|j| _ n|jdkrU|j\}}|| jv rPtd d d| |j|| j|< | ts| jrf| j | j	 f}n| j d f}| j
D ]}|| jvr}| j
| | j|< qn|S )NYAMLzfound duplicate YAML directiver   z:found incompatible YAML document (version 1.* is required)TAGzduplicate tag handle %r)r   r   r+   r,   r!   namer   r#   r   copyr/   )r   r'   majorminorhandleprefixr   keyr	   r	   r
   r9      sB   












zParser.process_directivesc                 C   s   | j ddS )NT)block
parse_noder   r	   r	   r
   r4     s   zParser.parse_block_nodec                 C   s   |   S r   rJ   r   r	   r	   r
   parse_flow_node  s   zParser.parse_flow_nodec                 C   s   | j dddS )NT)rI   indentless_sequencerJ   r   r	   r	   r
   'parse_block_node_or_indentless_sequence  s   z.Parser.parse_block_node_or_indentless_sequenceFc              	   C   s>  |  tr|  }t|j|j|j}| j | _	|S d }d }d  } }}	|  t
rI|  }|j}|j}|j}|  trH|  }|j}	|j}|j}n#|  trl|  }|j }}	|j}|j}|  t
rl|  }|j}|j}|d ur|\}
}|
d ur|
| jvrtd|d|
 |	| j|
 | }n|}|d u r|  j }}d }|d u p|dk}|r|  tr|  j}t|||||}| j| _	|S |  tr|  }|j}|jr|d u s|dkrd}n	|d u rd}nd}t||||j|||jd}| j | _	|S |  tr|  j}t|||||dd	}| j| _	|S |  tr-|  j}t|||||dd	}| j| _	|S |rK|  trK|  j}t|||||d
d	}| j| _	|S |ri|  tri|  j}t|||||d
d	}| j| _	|S |d uss|d urt|||d
fd||}| j | _	|S |rd}nd}|  }td| |d|j |j)Nzwhile parsing a nodezfound undefined tag handle %rr   TF)FTFF)styleT
flow_styleF rI   flowzwhile parsing a %s nodez'expected the node content, but found %r) r+   
AliasTokenr!   
AliasEventr   r#   r$   r   r?   r   AnchorTokenTagTokenr   r   r0   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:   )r   rI   rM   r'   r(   anchortagr#   r$   tag_markrF   suffiximplicitnoder	   r	   r
   rK     s   
_






1
$





zParser.parse_nodec                 C      |   }| j|j |  S r   )r!   r   r2   r#   parse_block_sequence_entryr   r'   r	   r	   r
   rf   x     z'Parser.parse_block_sequence_first_entryc                 C   s   |  tr$|  }|  tts| j| j |  S | j| _| 	|j
S |  ts;|  }td| jd d|j |j|  }t|j|j
}| j | _| j  |S )Nz while parsing a block collection"expected <block end>, but found %r)r+   rZ   r!   BlockEndTokenr   r2   rp   r4   r   r>   r$   r0   r   r   r:   r#   SequenceEndEventr?   r&   r	   r	   r
   rp   }  s"   


z!Parser.parse_block_sequence_entryc                 C   sr   |  tr&|  }|  tttts| j| j | 	 S | j| _
| |jS |  }t|j|j}| j | _
|S r   )r+   rZ   r!   KeyToken
ValueTokenru   r   r2   r\   r4   r   r>   r$   r0   rv   r#   r?   r&   r	   r	   r
   r\     s   
z&Parser.parse_indentless_sequence_entryc                 C   ro   r   )r!   r   r2   r#   parse_block_mapping_keyrq   r	   r	   r
   rh     rr   z$Parser.parse_block_mapping_first_keyc                 C   s   |  tr%|  }|  ttts| j| j |  S | j| _	| 
|jS |  ts<|  }td| jd d|j |j|  }t|j|j}| j | _	| j  |S )Nzwhile parsing a block mappingrs   rt   )r+   rw   r!   rx   ru   r   r2   parse_block_mapping_valuerN   r   r>   r$   r0   r   r   r:   r#   MappingEndEventr?   r&   r	   r	   r
   ry     s"   


zParser.parse_block_mapping_keyc                 C   sf   |  tr%|  }|  ttts| j| j |  S | j| _	| 
|jS | j| _	|  }| 
|jS r   )r+   rx   r!   rw   ru   r   r2   ry   rN   r   r>   r$   r0   r#   rq   r	   r	   r
   rz     s   
z Parser.parse_block_mapping_valuec                 C   "   |   }| j|j | jddS NT)first)r!   r   r2   r#   parse_flow_sequence_entryrq   r	   r	   r
   ra        z&Parser.parse_flow_sequence_first_entryc                 C   s   |  tsN|s#|  tr|   n|  }td| jd d|j |j|  t	r>|  }t
d d d|j|jdd}| j| _|S |  tsN| j| j |  S |  }t|j|j}| j | _| j  |S )Nzwhile parsing a flow sequencers   zexpected ',' or ']', but got %rTrR   )r+   FlowSequenceEndTokenFlowEntryTokenr!   r0   r   r   r:   r#   rw   rc   r$   %parse_flow_sequence_entry_mapping_keyr   r   r2   r   rL   rv   r?   r   r~   r'   r(   r	   r	   r
   r     s0   





z Parser.parse_flow_sequence_entryc                 C   s@   |   }| ttts| j| j |  S | j| _	| 
|jS r   )r!   r+   rx   r   r   r   r2   'parse_flow_sequence_entry_mapping_valuerL   r   r>   r$   rq   r	   r	   r
   r     s   z,Parser.parse_flow_sequence_entry_mapping_keyc                 C   d   |  tr$|  }|  tts| j| j |  S | j| _	| 
|jS | j| _	|  }| 
|jS r   )r+   rx   r!   r   r   r   r2   %parse_flow_sequence_entry_mapping_endrL   r   r>   r$   r0   r#   rq   r	   r	   r
   r         
z.Parser.parse_flow_sequence_entry_mapping_valuec                 C   s   | j | _|  }t|j|jS r   )r   r   r0   r{   r#   rq   r	   r	   r
   r     s   z,Parser.parse_flow_sequence_entry_mapping_endc                 C   r|   r}   )r!   r   r2   r#   parse_flow_mapping_keyrq   r	   r	   r
   rd     r   z#Parser.parse_flow_mapping_first_keyc                 C   s   |  tsX|s#|  tr|   n|  }td| jd d|j |j|  t	rH|  }|  t
tts>| j| j |  S | j| _| |jS |  tsX| j| j |  S |  }t|j|j}| j | _| j  |S )Nzwhile parsing a flow mappingrs   zexpected ',' or '}', but got %r)r+   FlowMappingEndTokenr   r!   r0   r   r   r:   r#   rw   rx   r   r2   parse_flow_mapping_valuerL   r   r>   r$   parse_flow_mapping_empty_valuer{   r?   r   r	   r	   r
   r     s2   





zParser.parse_flow_mapping_keyc                 C   r   r   )r+   rx   r!   r   r   r   r2   r   rL   r   r>   r$   r0   r#   rq   r	   r	   r
   r   9  r   zParser.parse_flow_mapping_valuec                 C   s   | j | _| |  jS r   )r   r   r>   r0   r#   r   r	   r	   r
   r   G  s   z%Parser.parse_flow_mapping_empty_valuec                 C   s   t d d dd||S )NrO   rT   )r_   )r   markr	   r	   r
   r>   K  s   zParser.process_empty_scalarNrP   )F)#r   r   r   r/   r   r   r   r   r   r   r%   r5   r3   r;   r9   r4   rL   rN   rK   rf   rp   r\   rh   ry   rz   ra   r   r   r   r   rd   r   r   r   r>   r	   r	   r	   r
   r   H   sF    	/
g


N)__all__errorr   tokenseventsscannerr   r   r	   r	   r	   r
   <module>   s   =