o
    ɝi,m                     @   sL  U d dl Z d dlmZ d dlmZ d dlmZmZmZm	Z	m
Z
mZmZ d dlmZ d dlmZ d dlmZmZmZ dd	lmZmZmZ eZeed
< 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G dd dZ$eG dd  d e$Z%dS )!    N)	dataclass)Enum)AnyCallableDictListOptionalSequenceUnion)Example)	FieldInfo)	AnnotatedLiteral
deprecated   )PYDANTIC_V2PYDANTIC_VERSION_MINOR_TUPLE	Undefined_Unsetc                   @   s   e Zd ZdZdZdZdZdS )
ParamTypesqueryheaderpathcookieN)__name__
__module____qualname__r   r   r   r    r   r   J/var/www/html/ocr-read/venv/lib/python3.10/site-packages/fastapi/params.pyr      s
    r   c                ?       s  e Zd ZU eed< efeddedddddddddddddeeeeededdddddedee	g ef df de
e de
e d	eedf d
eedf deedf de
e de
e de
e de
e de
e de
e de
e de
e de
e dee
e edf deedf deedf deedf deedf deedf deedf de
ee  dee
e edf d e
eeef  d!eeeedf d"ed#eeeef df d$ef< fd%d&Zd'efd(d)Z  ZS )*Paramin_NTdefault_factory
annotationaliasalias_priorityvalidation_aliasserialization_aliastitledescriptiongtgeltle
min_length
max_lengthpatternregexdiscriminatorstrictmultiple_ofallow_inf_nan
max_digitsdecimal_placesexamplesexampleopenapi_examplesr   include_in_schemajson_schema_extradefaultr"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   EDeprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead.r2   r3   r4   r5   r6   r7   r8   r9   nDeprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, although still supported. Use examples instead.r:   r   r;   r<   extrac          "   	      sN  |t urtjdtdd || _|| _|| _tdi d|d|d|d|d|	d	|
d
|d|d|d|d|d|d|d|d|d||}|d urT||d< |d ur`tjdtdd |pc|} tdk rl|| _	n||d< t
r||||||| d |p||d< n|p||d< |jdi |  dd | D }!t jdi |! d S )N<`example` has been deprecated, please use `examples` instead   category
stacklevelr=   r"   r$   r(   r)   r*   r+   r,   r-   r.   r/   r2   r4   r5   r6   r7   r8   9`regex` has been deprecated, please use `pattern` instead      r   r#   r%   r&   r'   r3   r<   r0   r1   c                 S      i | ]\}}|t ur||qS r   r   .0kvr   r   r   
<dictcomp>       z"Param.__init__.<locals>.<dictcomp>r   )r   warningswarnDeprecationWarningr9   r;   r:   dictr   r   r   updateitemssuper__init__)"selfr=   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r   r;   r<   r@   kwargscurrent_json_schema_extra
use_kwargs	__class__r   r   rZ      s   /	

zParam.__init__returnc                 C      | j j d| j dS N()r`   r   r=   r[   r   r   r   __repr__      zParam.__repr__)r   r   r   r   __annotations__r   r   r   r
   r   r   strintfloatr   r   boolr   r   r   rZ   rh   __classcell__r   r   r_   r   r      s   
 









 
!")*+,-kr   c                ?       s  e Zd ZejZ	d'eddedddddddddddddeeeeededdddddedee	g ef df de
e de
e d	eedf d
eedf deedf de
e de
e de
e de
e de
e de
e de
e de
e de
e dee
e edf deedf deedf deedf deedf deedf deedf de
ee  dee
e edf d e
eeef  d!eeeedf d"ed#eeeef df d$ef< fd%d&Z  ZS )(Path.NTr!   r=   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r>   r2   r3   r4   r5   r6   r7   r8   r9   r?   r:   r   r;   r<   r@   c                   s   |du sJ d| j | _ t jd i d|d|d|d|d|d|d	|d
|d|	d|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|| d S )!N.z+Path parameters cannot have a default valuer=   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r   r9   r8   r:   r;   r<   r   )r    rY   rZ   r[   r=   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r   r;   r<   r@   r_   r   r   rZ      s|   /	

zPath.__init__).)r   r   r   r   r   r    r   r   r
   r   r   rk   rl   rm   r   r   rn   r   r   r   rZ   ro   r   r   r_   r   rp          









 
!")*+,-rp   c                ?         e Zd ZejZefeddedddddddddddddeeeeededdddddede	e
g ef df dee dee de	edf d	e	edf d
e	edf dee dee dee dee dee dee dee dee dee deee edf de	edf de	edf de	edf de	edf de	edf de	edf deee  deee edf deeeef  d e	eeedf d!ed"e	eeef df d#ef< fd$d%Z  ZS )&QueryNTr!   r=   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r>   r2   r3   r4   r5   r6   r7   r8   r9   r?   r:   r   r;   r<   r@   c                      t  jdi d|d|d|d|d|d|d|d|d	|	d
|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|| d S Nr=   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r   r9   r8   r:   r;   r<   r   rY   rZ   rq   r_   r   r   rZ      x   /	

zQuery.__init__)r   r   r   r   r   r    r   r   r   r
   r   r   rk   rl   rm   r   r   rn   r   r   r   rZ   ro   r   r   r_   r   rt      rr   rt   c                A       s  e Zd ZejZefeddeddddddddddddddeeeeededdddddede	e
g ef df dee dee de	edf d	e	edf d
e	edf dedee dee dee dee dee dee dee dee dee deee edf de	edf de	edf de	edf de	edf de	edf de	edf deee  deee edf d eeeef  d!e	eeedf d"ed#e	eeef df d$ef> fd%d&Z  ZS )'HeaderNT)r"   r#   r$   r%   r&   r'   convert_underscoresr(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r   r;   r<   r=   r"   r#   r$   r%   r&   r'   rz   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r>   r2   r3   r4   r5   r6   r7   r8   r9   r?   r:   r   r;   r<   r@   c                    s   || _ t jdi d|d|d|d|d|d|d|d|	d	|
d
|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|| d S rv   )rz   rY   rZ   ) r[   r=   r"   r#   r$   r%   r&   r'   rz   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r   r;   r<   r@   r_   r   r   rZ   9  sz   0	

zHeader.__init__)r   r   r   r   r   r    r   r   r   r
   r   r   rk   rl   rn   rm   r   r   r   r   r   rZ   ro   r   r   r_   r   ry   6  s    








 
!
"#*+,-.ry   c                ?       rs   )&CookieNTr!   r=   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r>   r2   r3   r4   r5   r6   r7   r8   r9   r?   r:   r   r;   r<   r@   c                   ru   rv   rw   rq   r_   r   r   rZ     rx   zCookie.__init__)r   r   r   r   r   r    r   r   r   r
   r   r   rk   rl   rm   r   r   rn   r   r   r   rZ   ro   r   r   r_   r   r{     rr   r{   c                C       s  e Zd Zefeddddedddddddddddddeeeeededdddddedeeg ef df dee dee	df d	e
d
ee
 deedf dee
df dee
df dee
 dee
 dee dee dee dee dee dee dee
 deee
 edf dee
df dee	df deedf dee	df deedf deedf deee  d eee ed!f d"eee
ef  d#eee
e	df d$e	d%eee
ef df d&ef@ fd'd(Zd)e
fd*d+Z  ZS ),BodyNzapplication/jsonT)r"   r#   embed
media_typer$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r   r;   r<   r=   r"   r#   r}   r~   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r>   r2   r3   r4   r5   r6   r7   r8   r9   r?   r:   r   r;   r<   r@   c          $   	      sZ  || _ || _|turtjdtdd || _|| _|| _t	di d|d|d|d|
d|d	|d
|d|d|d|d|d|d|d|d|d|| }!|d urZ||!d< |d urftjdtdd |pi| }"t
dk rr|| _n||!d< tr|!||||	||"d |p||!d< n|p||!d< |!jdi |" dd |! D }#t jdi |# d S )NrA   rB   rC   r=   r"   r$   r(   r)   r*   r+   r,   r-   r.   r/   r2   r4   r5   r6   r7   r8   rF   rG   r   rJ   r0   r1   c                 S   rK   r   rL   rM   r   r   r   rQ   M  rR   z!Body.__init__.<locals>.<dictcomp>r   )r}   r~   r   rS   rT   rU   r9   r;   r:   rV   r   r   r   rW   rX   rY   rZ   )$r[   r=   r"   r#   r}   r~   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r   r;   r<   r@   r\   r]   r^   r_   r   r   rZ     s   1	

zBody.__init__ra   c                 C   rb   rc   rf   rg   r   r   r   rh   Q  ri   zBody.__repr__)r   r   r   r   r   r   r
   r   r   rn   rk   rl   rm   r   r   r   r   r   rZ   rh   ro   r   r   r_   r   r|     s    

	





 
!
"
#$+,-./pr|   c                A         e Zd Zefedddedddddddddddddeeeeededdddddedeeg ef df dee de	d	ee	 d
ee
df dee	df dee	df dee	 dee	 dee dee dee dee dee
 dee
 dee	 deee	 edf dee	df deedf deedf deedf dee
df dee
df deee  deee ed f d!eee	ef  d"eee	edf d#ed$eee	ef df d%ef> fd&d'Z  ZS )(FormNz!application/x-www-form-urlencodedTr"   r#   r~   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r   r;   r<   r=   r"   r#   r~   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r>   r2   r3   r4   r5   r6   r7   r8   r9   r?   r:   r   r;   r<   r@   c                       t  jdi d|d|d|d|d|d|d|d|d	|	d
|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|| d S  Nr=   r"   r#   r~   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r   r9   r8   r:   r;   r<   r   rw    r[   r=   r"   r#   r~   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r   r;   r<   r@   r_   r   r   rZ   V  |   0	

zForm.__init__r   r   r   r   r   r   r
   r   r   rk   rl   rm   r   r   rn   r   r   r   rZ   ro   r   r   r_   r   r   U      







 
!
"#*+,-.r   c                A       r   )(FileNzmultipart/form-dataTr   r=   r"   r#   r~   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r>   r2   r3   r4   r5   r6   r7   r8   r9   r?   r:   r   r;   r<   r@   c                    r   r   rw   r   r_   r   r   rZ     r   zFile.__init__r   r   r   r_   r   r     r   r   c                   @   sJ   e Zd ZU dZeedef  ed< dZe	ed< dZ
eed df ed< dS )DependsN.
dependencyT	use_cache)functionrequestscope)r   r   r   r   r   r   r   rj   r   rn   r   r
   r   r   r   r   r   r     s   
 r   c                   @   s"   e Zd ZU dZeee  ed< dS )SecurityNscopes)r   r   r   r   r   r	   rk   rj   r   r   r   r   r     s   
 r   )&rS   dataclassesr   enumr   typingr   r   r   r   r   r	   r
   fastapi.openapi.modelsr   pydantic.fieldsr   typing_extensionsr   r   r   _compatr   r   r   r   rj   r   r   rp   rt   ry   r{   r|   r   r   r   r   r   r   r   r   <module>   s,   
 $rVTVTuTT