o
    
i#                     @   s.  d dl mZ d dlZd dlZddlmZ 	 g dZG dd	 d	eZG d
d deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZede G dd  d eZede G d!d" d"eZG d#d$ d$eZdS )%    )absolute_importN   )utf8F)AnyDictOptionalListText)	FileMark
StringMarkCommentMark	YAMLErrorMarkedYAMLErrorReusedAnchorWarningUnsafeLoaderWarningMarkedYAMLWarningMarkedYAMLFutureWarningc                   @   s0   e Zd ZdZdd Zdd Zdd Zdd	 Zd
S )
StreamMarknameindexlinecolumnc                 C   s   || _ || _|| _|| _d S Nr   )selfr   r   r   r    r   K/home/ubuntu/.local/lib/python3.10/site-packages/srsly/ruamel_yaml/error.py__init__   s   
zStreamMark.__init__c                 C   s    d| j | jd | jd f }|S )N  in "%s", line %d, column %dr   )r   r   r   )r   wherer   r   r   __str__%   s   zStreamMark.__str__c                 C   s<   | j |j ks| j|jkrdS | j|jks| j|jkrdS dS )NFT)r   r   r   r   r   otherr   r   r   __eq__.   s
   zStreamMark.__eq__c                 C   s   |  | S r   )r#   r!   r   r   r   __ne__6   s   zStreamMark.__ne__N)__name__
__module____qualname__	__slots__r   r    r#   r$   r   r   r   r   r      s    	r   c                   @      e Zd ZdZdS )r
   r   N)r%   r&   r'   r(   r   r   r   r   r
   ;   s    r
   c                   @   s*   e Zd ZdZdd ZdddZdd	 Zd
S )r   )r   r   r   r   bufferpointerc                 C   s"   t | |||| || _|| _d S r   )r   r   r*   r+   )r   r   r   r   r   r*   r+   r   r   r   r   B   s   
zStringMark.__init__   K   c           	      C   sB  | j d u rd S d}| j}|dkr<| j |d  dvr<|d8 }| j| |d d kr/d}|d7 }n|dkr<| j |d  dvsd}| j}|t| j k rs| j | dvrs|d7 }|| j |d d kred}|d8 }n|t| j k rs| j | dvsOt| j || }d}d	| jd }d
| | | | d d
|| j | t|   | S )N r   r   u    
     z ...    ^z^ (line: {}) 
)r*   r+   lenr   formatr   )	r   indent
max_lengthheadstarttailendsnippetcaretr   r   r   get_snippetH   sJ   
zStringMark.get_snippetc                 C   s<   |   }d| j| jd | jd f }|d ur|d| 7 }|S )Nr   r   z:
)r>   r   r   r   )r   r<   r   r   r   r   r    k   s   zStringMark.__str__N)r,   r-   )r%   r&   r'   r(   r   r>   r    r   r   r   r   r   ?   s
    
#r   c                   @   s   e Zd ZdZdd ZdS )r   r   c                 C   s
   || _ d S r   r?   )r   r   r   r   r   r   {   s   
zCommentMark.__init__N)r%   r&   r'   r(   r   r   r   r   r   r   x   s    r   c                   @      e Zd ZdS )r   Nr%   r&   r'   r   r   r   r   r          r   c                   @   *   e Zd Z						dddZdd ZdS )r   Nc                 C   s"   || _ || _|| _|| _|| _d S r   )contextcontext_markproblemproblem_marknoter   rD   rE   rF   rG   rH   warnr   r   r   r      s
   

zMarkedYAMLError.__init__c                 C   s   g }| j d ur|| j  | jd ur<| jd u s4| jd u s4| jj| jjks4| jj| jjks4| jj| jjkr<|t| j | jd urG|| j | jd urT|t| j | j	d urg| j	rgt
| j	}|| d|S Nr3   )rD   appendrE   rF   rG   r   r   r   strrH   textwrapdedentjoin)r   linesrH   r   r   r   r       s$   







zMarkedYAMLError.__str__NNNNNNr%   r&   r'   r   r    r   r   r   r   r          
r   c                   @   r@   )YAMLStreamErrorNrA   r   r   r   r   rU      rB   rU   c                   @   r@   )YAMLWarningNrA   r   r   r   r   rV      rB   rV   c                   @   rC   )r   Nc                 C   (   || _ || _|| _|| _|| _|| _d S r   rD   rE   rF   rG   rH   rJ   rI   r   r   r   r         

zMarkedYAMLWarning.__init__c                 C      g }| j d ur|| j  | jd ur<| jd u s4| jd u s4| jj| jjks4| jj| jjks4| jj| jjkr<|t| j | jd urG|| j | jd urT|t| j | j	d urg| j	rgt
| j	}|| | jd urz| jrzt
| j}|| d|S rK   rD   rL   rE   rF   rG   r   r   r   rM   rH   rN   rO   rJ   rP   r   rQ   rH   rJ   r   r   r   r       s*   








zMarkedYAMLWarning.__str__rR   rS   r   r   r   r   r      rT   r   c                   @   r@   )r   NrA   r   r   r   r   r      rB   r   c                   @   r)   )r   av  
The default 'Loader' for 'load(stream)' without further arguments can be unsafe.
Use 'load(stream, Loader=srsly.ruamel_yaml.Loader)' explicitly if that is OK.
Alternatively include the following in your code:

  import warnings
  warnings.simplefilter('ignore', srsly.ruamel_yaml.error.UnsafeLoaderWarning)

In most other cases you should consider using 'safe_load(stream)'N)r%   r&   r'   textr   r   r   r   r      s    	r   oncec                   @   s   e Zd Zdd Zdd ZdS )MantissaNoDotYAML1_1Warningc                 C   s   || _ || _d S r   )nodeflt)r   r`   flt_strr   r   r   r      s   
z$MantissaNoDotYAML1_1Warning.__init__c                 C   s$   | j jj}| j jj}d| j||S )Nu  
In YAML 1.1 floating point values should have a dot ('.') in their mantissa.
See the Floating-Point Language-Independent Type for YAML™ Version 1.1 specification
( http://yaml.org/type/float.html ). This dot is not required for JSON nor for YAML 1.2

Correct your float: "{}" on line: {}, column: {}

or alternatively include the following in your code:

  import warnings
  warnings.simplefilter('ignore', srsly.ruamel_yaml.error.MantissaNoDotYAML1_1Warning)

)r`   
start_markr   r   r5   ra   )r   r   colr   r   r   r       s   

z#MantissaNoDotYAML1_1Warning.__str__NrS   r   r   r   r   r_      s    r_   c                   @   r@   )YAMLFutureWarningNrA   r   r   r   r   re     rB   re   c                   @   rC   )r   Nc                 C   rW   r   rX   rI   r   r   r   r     rY   z MarkedYAMLFutureWarning.__init__c                 C   rZ   rK   r[   r\   r   r   r   r    )  s*   








zMarkedYAMLFutureWarning.__str__rR   rS   r   r   r   r   r     rT   r   )
__future__r   warningsrN   compatr   typingr   r   r   r   r	   __all__objectr   r
   r   r   	Exceptionr   r   rU   WarningrV   r   r   r   simplefilterr_   re   r   r   r   r   r   <module>   s,    9),