3
QŽfXå	  ã               @   s<   d ddgZ G dd „ d ƒZG dd„ deƒZG dd„ deƒZdS )ÚMarkÚ	YAMLErrorÚMarkedYAMLErrorc               @   s&   e Zd Zdd„ Zd
dd„Zdd„ Zd	S )r   c             C   s(   || _ || _|| _|| _|| _|| _d S )N)ÚnameÚindexÚlineÚcolumnÚbufferÚpointer)Úselfr   r   r   r   r   r	   © r   úS/home/psgendb/BIRCHDEV/pkg/SPAdes-3.15.4/linux-x86_64/share/spades/pyyaml3/error.pyÚ__init__   s    zMark.__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 | j ||… }d| | | | d	 d|| j | t|ƒ   d
 S )NÚ é    é   u    
Â…â€¨â€©é   z ... é   ú Ú
ú^)r   r	   Úlen)r
   ÚindentZ
max_lengthÚheadÚstartÚtailÚendÚsnippetr   r   r   Úget_snippet   s(    
zMark.get_snippetc             C   s<   | j ƒ }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   Úwherer   r   r   Ú__str__%   s    zMark.__str__N)r   r   )Ú__name__Ú
__module__Ú__qualname__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 )N)ÚcontextÚcontext_markÚproblemÚproblem_markÚnote)r
   r%   r&   r'   r(   r)   r   r   r   r   2   s
    zMarkedYAMLError.__init__c             C   sÈ   g }| j d k	r|j| 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|jt| jƒƒ | jd k	rŽ|j| jƒ | jd k	r¨|jt| jƒƒ | j	d k	r¾|j| j	ƒ dj
|ƒS )Nr   )r%   Úappendr&   r'   r(   r   r   r   Ústrr)   Újoin)r
   Úlinesr   r   r   r!   :   s     




zMarkedYAMLError.__str__)NNNNN)r"   r#   r$   r   r!   r   r   r   r   r   0   s    
N)Ú__all__r   Ú	Exceptionr   r   r   r   r   r   Ú<module>   s   
)