o
    N!hr                     @  s  d Z ddlmZ ddlZddlmZmZmZ ddl	m
Z
 ddlmZ ddl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G dd deZee Z!dS )zPydantic-specific errors.    )annotationsN)AnyClassVarLiteral)Self)	Qualifier)_repr   )getattr_migration)version_short)PydanticUserErrorPydanticUndefinedAnnotationPydanticImportErrorPydanticSchemaGenerationErrorPydanticInvalidForJsonSchemaPydanticForbiddenQualifierPydanticErrorCodeszhttps://errors.pydantic.dev/z/u/)0z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-kwargszcircular-reference-schemainvalid-for-json-schemazjson-schema-already-usedzbase-model-instantiatedundefined-annotationschema-for-unknown-typeimport-errorzcreate-model-field-definitionszvalidator-no-fieldszvalidator-invalid-fieldszvalidator-instance-methodzvalidator-input-typez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-serializerszinvalid-annotated-typeztype-adapter-config-unusedzroot-model-extrazunevaluable-type-annotationz dataclass-init-false-extra-allowzclashing-init-and-init-varzmodel-config-invalid-field-namezwith-config-on-modelzdataclass-on-modelzvalidate-call-typezunpack-typed-dictzoverlapping-unpack-typed-dictzinvalid-self-typez validate-by-alias-and-name-falsec                   @  s$   e Zd ZdZddd	Zdd
dZdS )PydanticErrorMixinzA 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/contec/backend/tec.wsc/Coding/backend/Contec_Project_backend/env/lib/python3.10/site-packages/pydantic/errors.py__init__Z   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__^   s   
zPydanticErrorMixin.__str__N)r   r   r   r   r   r   )r   r   )__name__
__module____qualname____doc__r"   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   e   s    r   c                      s0   e Zd ZdZd fddZedddZ  ZS )r   zA 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"   q   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 )zConvert 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_erroru   s   

z+PydanticUndefinedAnnotation.from_name_error)r)   r   r   r   r   r   )r-   r.   r   r   )r%   r&   r'   r(   r"   classmethodr4   __classcell__r    r    r+   r!   r   i   s
    r   c                      "   e Zd ZdZd fddZ  ZS )	r   zAn 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"   r6   r    r    r+   r!   r          r   c                      r7   )	r   zAn error raised during failures to generate a `CoreSchema` for some type.

    Attributes:
        message: Description of the error.
    r   r   r   r   c                   r8   )Nr   r9   r:   r;   r+   r    r!   r"      r<   z&PydanticSchemaGenerationError.__init__r=   r>   r    r    r+   r!   r      r?   r   c                      r7   )	r   zAn error raised during failures to generate a JSON schema for some `CoreSchema`.

    Attributes:
        message: Description of the error.
    r   r   r   r   c                   r8   )Nr   r9   r:   r;   r+   r    r!   r"      r<   z%PydanticInvalidForJsonSchema.__init__r=   r>   r    r    r+   r!   r      r?   r   c                      s>   e Zd ZU dZdddddddZd	ed
< d fddZ  ZS )r   zLAn error raised if a forbidden type qualifier is found in a type annotation.ztyping.Requiredztyping.NotRequiredztyping.ReadOnlyztyping.ClassVarzdataclasses.InitVarztyping.Final)requirednot_required	read_only	class_varinit_varfinalzClassVar[dict[Qualifier, str]]_qualifier_repr_map	qualifierr   
annotationr   r   r   c                   s.   t  jdt|d| j| dd d d S )NzThe annotation z contains the z? type qualifier, which is invalid in the context it is defined.r   )r*   r"   r   display_as_typerF   )r   rG   rH   r+   r    r!   r"      s   
z#PydanticForbiddenQualifier.__init__)rG   r   rH   r   r   r   )r%   r&   r'   r(   rF   __annotations__r"   r6   r    r    r+   r!   r      s   
 	r   )"r(   
__future__r   _annotationsr0   typingr   r   r   typing_extensionsr   typing_inspection.introspectionr   pydantic._internalr   
_migrationr
   versionr   __all__r#   r   r   	TypeErrorr   r.   r   ImportErrorr   r   r   r   r%   __getattr__r    r    r    r!   <module>   s,    4