B
    |?_[*!              	   @   s:  d dl mZ 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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)utf8FileMark
StringMarkCommentMark	YAMLErrorMarkedYAMLErrorReusedAnchorWarningUnsafeLoaderWarningMarkedYAMLWarningMarkedYAMLFutureWarningc               @   s    e Zd ZdZdd Zdd ZdS )
StreamMark)nameindexlinecolumnc             C   s   || _ || _|| _|| _d S )N)r   r   r   r   )selfr   r   r   r    r   0lib/python3.7/site-packages/ruamel_yaml/error.py__init__   s    zStreamMark.__init__c             C   s    d| j | jd | jd f }|S )Nz  in "%s", line %d, column %d   )r   r   r   )r   wherer   r   r   __str__   s    zStreamMark.__str__N)__name__
__module____qualname__	__slots__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               @   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 )N)r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   -   s    zStringMark.__init__   K   c       	      C   s  | j d krd S d}| j}xJ|dkrb| j |d  dkrb|d8 }| j| |d d krd}|d7 }P qW d}| j}xL|t| j k r| j | dkr|d7 }|| j |d d krpd}|d8 }P qpW t| j || }d}d	| jd }d
| | | | d d
|| j | t|   | S )N r   r   u    
     z ...    ^z^ (line: {}) 
)r   r   lenr   formatr   )	r   indentZ
max_lengthheadstarttailendsnippetZcaretr   r   r   get_snippet3   s0    

zStringMark.get_snippetc             C   s<   |   }d| j| jd | jd f }|d k	r8|d| 7 }|S )Nz  in "%s", line %d, column %dr   z:
)r/   r   r   r   )r   r.   r   r   r   r   r   O   s    zStringMark.__str__N)r   r    )r   r   r   r   r   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 )N)r   )r   r   r   r   r   r   \   s    zCommentMark.__init__N)r   r   r   r   r   r   r   r   r   r   Y   s   c               @   s   e Zd ZdS )r   N)r   r   r   r   r   r   r   r   a   s   c               @   s   e Zd ZdddZdd ZdS )r   Nc             C   s"   || _ || _|| _|| _|| _d S )N)contextcontext_markproblemproblem_marknote)r   r0   r1   r2   r3   r4   warnr   r   r   r   f   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&   )r0   appendr1   r2   r3   r   r   r   strr4   textwrapdedentjoin)r   linesr4   r   r   r   r   p   s"    




zMarkedYAMLError.__str__)NNNNNN)r   r   r   r   r   r   r   r   r   r   e   s    
	c               @   s   e Zd ZdS )YAMLStreamErrorN)r   r   r   r   r   r   r   r<      s   r<   c               @   s   e Zd ZdS )YAMLWarningN)r   r   r   r   r   r   r   r=      s   r=   c               @   s   e Zd ZdddZdd ZdS )r   Nc             C   s(   || _ || _|| _|| _|| _|| _d S )N)r0   r1   r2   r3   r4   r5   )r   r0   r1   r2   r3   r4   r5   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 )Nr&   )r0   r6   r1   r2   r3   r   r   r   r7   r4   r8   r9   r5   r:   )r   r;   r4   r5   r   r   r   r      s(    





zMarkedYAMLWarning.__str__)NNNNNN)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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 )N)nodeflt)r   rA   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)

)rA   Z
start_markr   r   r(   rB   )r   r   colr   r   r   r      s    

z#MantissaNoDotYAML1_1Warning.__str__N)r   r   r   r   r   r   r   r   r   r@      s   r@   c               @   s   e Zd ZdS )YAMLFutureWarningN)r   r   r   r   r   r   r   rD      s   rD   c               @   s   e Zd ZdddZdd ZdS )r   Nc             C   s(   || _ || _|| _|| _|| _|| _d S )N)r0   r1   r2   r3   r4   r5   )r   r0   r1   r2   r3   r4   r5   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 )Nr&   )r0   r6   r1   r2   r3   r   r   r   r7   r4   r8   r9   r5   r:   )r   r;   r4   r5   r   r   r   r      s(    





zMarkedYAMLFutureWarning.__str__)NNNNNN)r   r   r   r   r   r   r   r   r   r      s    
	)Z
__future__r   warningsr8   Zruamel_yaml.compatr   __all__objectr   r   r   r   	Exceptionr   r   r<   Warningr=   r   r	   r
   simplefilterr@   rD   r   r   r   r   r   <module>   s,   
/ #