U
    ù§Teo  ã                   @  sR  d dl mZ d dlmZ G dd„ deƒZG dd„ de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G dd„ deƒZG dd„ deƒZG dd „ d eƒZG d!d"„ d"eeƒZG d#d$„ d$eƒZG d%d&„ d&eƒZG d'd(„ d(eeƒZd)S )*é    )Úannotations)Ú
Collectionc                   @  s   e Zd ZdS )ÚTOMLKitErrorN)Ú__name__Ú
__module__Ú__qualname__© r   r   úq/mounts/lovelace/software/anaconda3/envs/qiime2-amplicon-2024.2/lib/python3.8/site-packages/tomlkit/exceptions.pyr      s   r   c                      sF   e Zd ZdZddddddœ‡ fdd„Zed	d
„ ƒZedd„ ƒZ‡  ZS )Ú
ParseErrorzÃ
    This error occurs when the parser encounters a syntax error
    in the TOML being parsed. The error references the line and
    location within the line where the error was encountered.
    NÚintú
str | NoneÚNone©ÚlineÚcolÚmessageÚreturnc                   s<   || _ || _|d krd}tƒ  |› d| j › d| j› ¡ d S )NzTOML parse errorz	 at line z col )Ú_lineÚ_colÚsuperÚ__init__©Úselfr   r   r   ©Ú	__class__r   r	   r      s
    zParseError.__init__c                 C  s   | j S ©N)r   ©r   r   r   r	   r      s    zParseError.linec                 C  s   | j S r   )r   r   r   r   r	   r      s    zParseError.col)N)	r   r   r   Ú__doc__r   Úpropertyr   r   Ú__classcell__r   r   r   r	   r
   
   s   	
r
   c                      s*   e Zd ZdZddddœ‡ fdd„Z‡  ZS )ÚMixedArrayTypesErrorz@
    An array was found that had two or more element types.
    r   r   ©r   r   r   c                   s   d}t ƒ j|||d d S )NzMixed types found in array©r   ©r   r   r   r   r   r	   r   (   s    zMixedArrayTypesError.__init__©r   r   r   r   r   r   r   r   r   r	   r    #   s   r    c                      s*   e Zd ZdZddddœ‡ fdd„Z‡  ZS )ÚInvalidNumberErrorz3
    A numeric field was improperly specified.
    r   r   r!   c                   s   d}t ƒ j|||d d S )NzInvalid numberr"   r#   r   r   r   r	   r   3   s    zInvalidNumberError.__init__r$   r   r   r   r	   r%   .   s   r%   c                      s*   e Zd ZdZddddœ‡ fdd„Z‡  ZS )ÚInvalidDateTimeErrorz4
    A datetime field was improperly specified.
    r   r   r!   c                   s   d}t ƒ j|||d d S )NzInvalid datetimer"   r#   r   r   r   r	   r   >   s    zInvalidDateTimeError.__init__r$   r   r   r   r	   r&   9   s   r&   c                      s*   e Zd ZdZddddœ‡ fdd„Z‡  ZS )ÚInvalidDateErrorú0
    A date field was improperly specified.
    r   r   r!   c                   s   d}t ƒ j|||d d S )NzInvalid dater"   r#   r   r   r   r	   r   I   s    zInvalidDateError.__init__r$   r   r   r   r	   r'   D   s   r'   c                      s*   e Zd ZdZddddœ‡ fdd„Z‡  ZS )ÚInvalidTimeErrorr(   r   r   r!   c                   s   d}t ƒ j|||d d S )NzInvalid timer"   r#   r   r   r   r	   r   T   s    zInvalidTimeError.__init__r$   r   r   r   r	   r)   O   s   r)   c                      s*   e Zd ZdZddddœ‡ fdd„Z‡  ZS )ÚInvalidNumberOrDateErrorz;
    A numeric or date field was improperly specified.
    r   r   r!   c                   s   d}t ƒ j|||d d S )NzInvalid number or date formatr"   r#   r   r   r   r	   r   _   s    z!InvalidNumberOrDateError.__init__r$   r   r   r   r	   r*   Z   s   r*   c                      s*   e Zd ZdZddddœ‡ fdd„Z‡  ZS )ÚInvalidUnicodeValueErrorz2
    A unicode code was improperly specified.
    r   r   r!   c                   s   d}t ƒ j|||d d S )NzInvalid unicode valuer"   r#   r   r   r   r	   r   j   s    z!InvalidUnicodeValueError.__init__r$   r   r   r   r	   r+   e   s   r+   c                      s,   e Zd ZdZdddddœ‡ fdd„Z‡  ZS )ÚUnexpectedCharErrorz;
    An unexpected character was found during parsing.
    r   Ústrr   ©r   r   Úcharr   c                   s$   dt |ƒ› }tƒ j|||d d S )NzUnexpected character: r"   ©Úreprr   r   ©r   r   r   r/   r   r   r   r	   r   u   s    zUnexpectedCharError.__init__r$   r   r   r   r	   r,   p   s   r,   c                      s*   e Zd ZdZddddœ‡ fdd„Z‡  ZS )ÚEmptyKeyErrorz0
    An empty key was found during parsing.
    r   r   r!   c                   s   d}t ƒ j|||d d S )Nz	Empty keyr"   r#   r   r   r   r	   r   €   s    zEmptyKeyError.__init__r$   r   r   r   r	   r3   {   s   r3   c                      s*   e Zd ZdZddddœ‡ fdd„Z‡  ZS )ÚEmptyTableNameErrorz7
    An empty table name was found during parsing.
    r   r   r!   c                   s   d}t ƒ j|||d d S )NzEmpty table namer"   r#   r   r   r   r	   r   ‹   s    zEmptyTableNameError.__init__r$   r   r   r   r	   r4   †   s   r4   c                      s,   e Zd ZdZdddddœ‡ fdd„Z‡  ZS )ÚInvalidCharInStringErrorz@
    The string being parsed contains an invalid character.
    r   r-   r   r.   c                   s&   dt |ƒ› d}tƒ j|||d d S )NzInvalid character z
 in stringr"   r0   r2   r   r   r	   r   –   s    z!InvalidCharInStringError.__init__r$   r   r   r   r	   r5   ‘   s   r5   c                      s*   e Zd ZdZddddœ‡ fdd„Z‡  ZS )ÚUnexpectedEofErrorzD
    The TOML being parsed ended before the end of a statement.
    r   r   r!   c                   s   d}t ƒ j|||d d S )NzUnexpected end of filer"   r#   r   r   r   r	   r   ¡   s    zUnexpectedEofError.__init__r$   r   r   r   r	   r6   œ   s   r6   c                      s.   e Zd ZdZd	dddddœ‡ fdd„Z‡  ZS )
ÚInternalParserErrorz6
    An error that indicates a bug in the parser.
    Nr   r   r   r   c                   s.   d}|r|d|› d7 }t ƒ j|||d d S )NzInternal parser errorz (ú)r"   r#   )r   r   r   r   Úmsgr   r   r	   r   ¬   s    zInternalParserError.__init__)Nr$   r   r   r   r	   r7   §   s   r7   c                      s    e Zd ZdZ‡ fdd„Z‡  ZS )ÚNonExistentKeyz&
    A non-existent key was used.
    c                   s   d|› d}t ƒ  |¡ d S )NúKey "z" does not exist.r#   ©r   Úkeyr   r   r   r	   r   ¹   s    zNonExistentKey.__init__r$   r   r   r   r	   r:   ´   s   r:   c                      s    e Zd ZdZ‡ fdd„Z‡  ZS )ÚKeyAlreadyPresentz*
    An already present key was used.
    c                   s(   t |d|ƒ}d|› d}tƒ  |¡ d S )Nr=   r;   z" already exists.)Úgetattrr   r   r<   r   r   r	   r   Ä   s    zKeyAlreadyPresent.__init__r$   r   r   r   r	   r>   ¿   s   r>   c                      s*   e Zd Zddddddœ‡ fdd„Z‡  ZS )ÚInvalidControlCharr   r-   r   )r   r   r/   Útyper   c                   sP   d}|dk r|d7 }|t |ƒdd … 7 }d|› d|› d}tƒ j|||d d S )	Nz\u00é   Ú0é   zFControl characters (codes less than 0x1f and 0x7f) are not allowed in z, use z insteadr"   )Úhexr   r   )r   r   r   r/   rA   Zdisplay_coder   r   r   r	   r   Ì   s    ÿzInvalidControlChar.__init__©r   r   r   r   r   r   r   r   r	   r@   Ë   s   r@   c                      s&   e Zd Zddddœ‡ fdd„Z‡  ZS )ÚInvalidStringErrorr-   zCollection[str])ÚvalueÚinvalid_sequencesÚ	delimiterc              	     s6   t |ƒdd… }tƒ  d|› |› |› d|› d¡ d S )Né   éÿÿÿÿzInvalid string: z. The character sequences z are invalid.r0   )r   rH   rI   rJ   Úrepr_r   r   r	   r   Þ   s    ÿzInvalidStringError.__init__rF   r   r   r   r	   rG   Ý   s   rG   N)Ú
__future__r   Útypingr   Ú	Exceptionr   Ú
ValueErrorr
   r    r%   r&   r'   r)   r*   r+   r,   r3   r4   r5   r6   r7   ÚKeyErrorr:   r>   r@   rG   r   r   r   r	   Ú<module>   s(   