o
    !h-                  	   @   s   d dl Z d dlZd dlmZmZmZmZmZ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mZ d dlmZ d dlmZmZ eeZG dd	 d	eZddedefddZe j	ddedee ded fddZ dS )    N)AnyDict	GeneratorListOptionalTuple)	HTTPErrorHTTPStatusErrorReadTimeout)Segment)RichToolkitRichToolkitTheme)Progress)MinimalStyleTaggedStylec                       s\   e Zd Zddef fddZ		ddeeef deded	e	e
e ef f fd
dZ  ZS )FastAPIStyle   	tag_widthc                    s   t  j|d d S )Nr   )super__init__)selfr   	__class__ ]/var/www/html/pro-man-master/venv/lib/python3.10/site-packages/fastapi_cloud_cli/utils/cli.pyr      s   zFastAPIStyle.__init__Fmetadatais_animateddonereturnc                    s\   |s
t  |||S g d}|| jt|  }|r|d }| jd }td|}t|g|fS )N)u   🥚u   🐣u   🐤u   🐥u   🐓u   🐔   r   )r   _get_tag_segmentsanimation_counterlenr   maxr   )r   r   r   r   emojistagleft_paddingr   r   r   r"      s   	

zFastAPIStyle._get_tag_segments)r   )FF)__name__
__module____qualname__intr   r   strr   boolr   r   r   r"   __classcell__r   r   r   r   r      s    
r   Fminimalr   c                 C   s<   | rt  ntdd}t|dddddddd	d
d}t|dS )Nr   r   zwhite on #009485zwhite on #007166grey85whitez#007166z
on #007166red)z	tag.titler'   placeholdertextselectedresultprogresserror)styletheme)r;   )r   r   r   r   )r0   r:   r;   r   r   r   get_rich_toolkit0   s   
r<   r8   message)NNNc              
   c   s    zd V  W d S  t y# } zt| | d tdd d }~w tyf } z8t| t|trB|j	j
dkrBt|j	  t|trP|j	j
dv rPd}n|pVd| }| | tdd d }~ww )NzJThe request to the FastAPI Cloud server timed out. Please try again later.r!   i  )i  i  zNThe specified token is not valid. Use `fastapi login` to generate a new token.zZSomething went wrong while contacting the FastAPI Cloud server. Please try again later. 

)r
   loggerdebug	set_errortyperExitr   
isinstancer	   responsestatus_codejson)r8   r=   er   r   r   handle_http_errorsD   s.   


rH   )F)N)!
contextlibloggingtypingr   r   r   r   r   r   rA   httpxr   r	   r
   rich.segmentr   rich_toolkitr   r   rich_toolkit.progressr   rich_toolkit.stylesr   r   	getLoggerr)   r>   r   r.   r<   contextmanagerr-   rH   r   r   r   r   <module>   s*     
!