U
    ƽb"%                  	   @   s*  d dl Z d dlZd dlmZ ddddddd	d
dg	Z	G dd dZ
G dd de
ZG dd de
ZG dd 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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 )     N)_F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   5/tmp/pip-unpacked-wheel-ctuyz3qg/ruamel/yaml/error.py__init__   s    zStreamMark.__init__c                 C   s"   t d| j| jd | jd d}|S )N6  in "{sname!s}", line {sline1:d}, column {scolumn1:d}   ZsnameZsline1Zscolumn1)r   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s4| j|jkr8d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__5   s    zStreamMark.__ne__N)__name__
__module____qualname__	__slots__r   r   r   r   r   r   r   r   r      s
   
r   c                   @   s   e Zd ZdZdS )r   r   N)r    r!   r"   r#   r   r   r   r   r   :   s   c                   @   s2   e Zd ZdZdd ZdddZ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   A   s    zStringMark.__init__   K   c           	      C   s  | j d krd S d}| j}|dkr`| j |d  dkr`|d8 }| j| |d d krd}|d7 }q`qd}| j}|t| j k r| j | dkr|d7 }|| j |d d krjd}|d8 }qqj| j || }d}d	| jd }d
| | | | d d
|| j | t|   | S )N r   r   u    
     z ...    ^z^ (line: {}) 
)r$   r%   lenformatr   )	r   indent
max_lengthheadstarttailendsnippetZcaretr   r   r   get_snippetG   sF    
zStringMark.get_snippetc                 C   s>   |   }td| j| jd | jd d}|d k	r:|d| 7 }|S Nr   r   r   z:
r7   r   r   r   r   r   r6   r   r   r   r   r   h   s    zStringMark.__str__c                 C   s>   |   }td| j| jd | jd d}|d k	r:|d| 7 }|S r8   r9   r:   r   r   r   __repr__u   s    zStringMark.__repr__N)r&   r'   )r    r!   r"   r#   r   r7   r   r;   r   r   r   r   r   >   s
   
!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      s   c                   @   s   e Zd ZdS )r   Nr    r!   r"   r   r   r   r   r      s   c                   @   s   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   r>   r?   r@   rA   rB   warnr   r   r   r      s
    
zMarkedYAMLError.__init__c                 C   s   g }| j d k	r|| j  | jd k	rx| jd ksh| jd ksh| jj| jjksh| jj| jjksh| jj| jjkrx|t| j | jd k	r|| j | jd k	r|t| j | j	d k	r| j	rt
| j	}|| d|S Nr-   )r>   appendr?   r@   rA   r   r   r   strrB   textwrapdedentjoin)r   linesrB   r   r   r   r      s.    




zMarkedYAMLError.__str__)NNNNNNr    r!   r"   r   r   r   r   r   r   r      s         
c                   @   s   e Zd ZdS )YAMLStreamErrorNr=   r   r   r   r   rM      s   rM   c                   @   s   e Zd ZdS )YAMLWarningNr=   r   r   r   r   rN      s   rN   c                   @   s   e Zd ZdddZdd ZdS )r
   Nc                 C   s(   || _ || _|| _|| _|| _|| _d S r   r>   r?   r@   rA   rB   rD   rC   r   r   r   r      s    
zMarkedYAMLWarning.__init__c                 C   s   g }| j d k	r|| j  | jd k	rx| jd ksh| jd ksh| jj| jjksh| jj| jjksh| jj| jjkrx|t| j | jd k	r|| j | jd k	r|t| j | j	d k	r| j	rt
| j	}|| | jd k	r| jrt
| j}|| d|S rE   r>   rF   r?   r@   rA   r   r   r   rG   rB   rH   rI   rD   rJ   r   rK   rB   rD   r   r   r   r      s4    





zMarkedYAMLWarning.__str__)NNNNNNrL   r   r   r   r   r
      s         
c                   @   s   e Zd ZdS )r   Nr=   r   r   r   r   r      s   c                   @   s   e Zd ZdZdS )r	   aj  
The default 'Loader' for 'load(stream)' without further arguments can be unsafe.
Use 'load(stream, Loader=ruamel.yaml.Loader)' explicitly if that is OK.
Alternatively include the following in your code:

  import warnings
  warnings.simplefilter('ignore', 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   	oncec                   @   s   e Zd Zdd Zdd ZdS )MantissaNoDotYAML1_1Warningc                 C   s   || _ || _d S r   )nodeflt)r   rU   Z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', ruamel.yaml.error.MantissaNoDotYAML1_1Warning)

)rU   Z
start_markr   r   r/   rV   )r   r   colr   r   r   r     s    

  z#MantissaNoDotYAML1_1Warning.__str__NrL   r   r   r   r   rT      s   rT   c                   @   s   e Zd ZdS )YAMLFutureWarningNr=   r   r   r   r   rX     s   rX   c                   @   s   e Zd ZdddZdd ZdS )r   Nc                 C   s(   || _ || _|| _|| _|| _|| _d S r   rO   rC   r   r   r   r   #  s    
z MarkedYAMLFutureWarning.__init__c                 C   s   g }| j d k	r|| j  | jd k	rx| jd ksh| jd ksh| jj| jjksh| jj| jjksh| jj| jjkrx|t| j | jd k	r|| j | jd k	r|t| j | j	d k	r| j	rt
| j	}|| | jd k	r| jrt
| j}|| d|S rE   rP   rQ   r   r   r   r   4  s4    





zMarkedYAMLFutureWarning.__str__)NNNNNNrL   r   r   r   r   r   "  s         
)warningsrH   Zruamel.yaml.compatr   AnyDictOptionalListText__all__r   r   r   r   	Exceptionr   r   rM   WarningrN   r
   r   r	   simplefilterrT   rX   r   r   r   r   r   <module>   s8   !E),