o
    #1 i                     @   s   d dl Z d dlmZ d dlmZmZmZ d dlmZm	Z	 d dl
mZ e eZedd eddd	 D Zed  d	kZG d
d deZdS )    N)Path)AnyDictOptional)	BaseModel	StrictStr)VERSIONc                 c   s    | ]}t |V  qd S N)int).0x r   ^/home/app/PaddleOCR-VL-test/.venv_paddleocr/lib/python3.10/site-packages/fastapi_cli/config.py	<genexpr>
   s    r   .   c                   @   sT   e Zd ZU dZee ed< edee	e
f fddZeddee	 dd fddZdS )	FastAPIConfigN
entrypointreturnc                 C   s   t  d }| si S zddl}W n" ty4   zddl}W n ty1   td i  Y  Y S w Y nw t|d}|	|}|
di 
di W  d   S 1 sTw   Y  dS )zDRead FastAPI configuration from pyproject.toml in current directory.zpyproject.tomlr   Nz,tomli not available, skipping pyproject.tomlrbZtoolZfastapi)r   cwdexiststomllibImportErrortomliloggerdebugopenloadget)clsZpyproject_pathr   fdatar   r   r   _read_pyproject_toml   s$   

$z"FastAPIConfig._read_pyproject_tomlc                 C   s0   |   }|d ur||d< ts| |S | |S )Nr   )r#   PYDANTIC_V2Z	parse_objZmodel_validate)r    r   configr   r   r   resolve'   s   

zFastAPIConfig.resolver	   )__name__
__module____qualname__r   r   r   __annotations__classmethodr   strr   r#   r&   r   r   r   r   r      s   
 r   )loggingpathlibr   typingr   r   r   Zpydanticr   r   Zpydantic.versionr   ZPYDANTIC_VERSION	getLoggerr'   r   tuplesplitZPYDANTIC_VERSION_MINOR_TUPLEr$   r   r   r   r   r   <module>   s    
 