o
    FÊÆh  ã                   @  sÊ   d Z ddlmZ ddlZddlmZmZ ddlm	Z	 ddl
mZ dZd	eƒ › d
�Zed ZG dd„ dƒZG dd„ deeƒZG dd„ deeƒZG dd„ deeƒZG dd„ deƒZG dd„ deƒZe	eƒZdS )zPydantic-specific errors.é    )ÚannotationsN)ÚLiteralÚSelfé   )Úgetattr_migration)Úversion_short)ÚPydanticUserErrorÚPydanticUndefinedAnnotationÚPydanticImportErrorÚPydanticSchemaGenerationErrorÚPydanticInvalidForJsonSchemaÚPydanticErrorCodeszhttps://errors.pydantic.dev/z/u/)$zclass-not-fully-definedzcustom-json-schemazdecorator-missing-fieldzdiscriminator-no-fieldzdiscriminator-alias-typezdiscriminator-needs-literalzdiscriminator-aliaszdiscriminator-validatorzcallable-discriminator-no-tagztyped-dict-versionzmodel-field-overriddenzmodel-field-missing-annotationzconfig-bothzremoved-kwargsúinvalid-for-json-schemazjson-schema-already-usedzbase-model-instantiatedúundefined-annotationúschema-for-unknown-typeúimport-errorzcreate-model-field-definitionszcreate-model-config-basezvalidator-no-fieldszvalidator-invalid-fieldszvalidator-instance-methodzroot-validator-pre-skipz model-serializer-instance-methodzvalidator-field-config-infozvalidator-v1-signaturezvalidator-signaturezfield-serializer-signaturezmodel-serializer-signaturezmultiple-field-serializersÚinvalid_annotated_typeztype-adapter-config-unusedzroot-model-extrac                   @  s$   e Zd ZdZddd	„Zdd
d„ZdS )ÚPydanticErrorMixinzØA mixin class for common functionality shared by all Pydantic-specific errors.

    Attributes:
        message: A message describing the error.
        code: An optional error code from PydanticErrorCodes enum.
    ÚmessageÚstrÚcodeúPydanticErrorCodes | NoneÚreturnÚNonec                C  s   || _ || _d S )N©r   r   )Úselfr   r   © r   ú\/var/www/html/HyperOracle/crypto_trader/venv/lib/python3.10/site-packages/pydantic/errors.pyÚ__init__H   s   
zPydanticErrorMixin.__init__c                 C  s&   | j d u r| jS | j› dt› | j › �S )Nz 

For further information visit )r   r   ÚDEV_ERROR_DOCS_URL)r   r   r   r   Ú__str__L   s   
zPydanticErrorMixin.__str__N)r   r   r   r   r   r   )r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r    r   r   r   r   r   @   s    
r   c                   @  s   e Zd ZdZdS )r   z1An error raised due to incorrect use of Pydantic.N)r!   r"   r#   r$   r   r   r   r   r   S   s    r   c                      s0   e Zd ZdZd‡ fdd„Zeddd„ƒZ‡  ZS )r	   zÆA subclass of `NameError` raised when handling undefined annotations during `CoreSchema` generation.

    Attributes:
        name: Name of the error.
        message: Description of the error.
    Únamer   r   r   r   c                   s   || _ tƒ j|dd� d S )Nr   r   )r%   Úsuperr   )r   r%   r   ©Ú	__class__r   r   r   _   s   z$PydanticUndefinedAnnotation.__init__Ú
name_errorÚ	NameErrorr   c                 C  sD   z|j }W n ty   t dt|ƒ¡ d¡}Y nw | |t|ƒd�S )zÙConvert a `NameError` to a `PydanticUndefinedAnnotation` error.

        Args:
            name_error: `NameError` to be converted.

        Returns:
            Converted `PydanticUndefinedAnnotation` error.
        z	.*'(.+?)'r   )r%   r   )r%   ÚAttributeErrorÚreÚsearchr   Úgroup)Úclsr)   r%   r   r   r   Úfrom_name_errorc   s   

ÿz+PydanticUndefinedAnnotation.from_name_error)r%   r   r   r   r   r   )r)   r*   r   r   )r!   r"   r#   r$   r   Úclassmethodr0   Ú__classcell__r   r   r'   r   r	   W   s
    r	   c                      ó"   e Zd ZdZd‡ fdd„Z‡  ZS )	r
   zŽAn error raised when an import fails due to module changes between V1 and V2.

    Attributes:
        message: Description of the error.
    r   r   r   r   c                   ó   t ƒ j|dd� d S )Nr   ©r   ©r&   r   ©r   r   r'   r   r   r   {   ó   zPydanticImportError.__init__©r   r   r   r   ©r!   r"   r#   r$   r   r2   r   r   r'   r   r
   t   ó    r
   c                      r3   )	r   zŠAn error raised during failures to generate a `CoreSchema` for some type.

    Attributes:
        message: Description of the error.
    r   r   r   r   c                   r4   )Nr   r5   r6   r7   r'   r   r   r   †   r8   z&PydanticSchemaGenerationError.__init__r9   r:   r   r   r'   r   r      r;   r   c                      r3   )	r   z‘An error raised during failures to generate a JSON schema for some `CoreSchema`.

    Attributes:
        message: Description of the error.
    r   r   r   r   c                   r4   )Nr   r5   r6   r7   r'   r   r   r   ‘   r8   z%PydanticInvalidForJsonSchema.__init__r9   r:   r   r   r'   r   r   Š   r;   r   )r$   Ú
__future__r   Ú_annotationsr,   Útyping_extensionsr   r   Ú
_migrationr   Úversionr   Ú__all__r   r   r   Ú	TypeErrorr   r*   r	   ÚImportErrorr
   r   r   r!   Ú__getattr__r   r   r   r   Ú<module>   s$    ÿ(