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 )Nú6  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 }q´qj| 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	rÎt
 | 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	rÎt
 | j	¡}| |¡ | jd k	rô| jrôt
 | 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	rÎt
 | j	¡}| |¡ | jd k	rô| jrôt
 | 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),