
    >9j	                         d dl Z d dlmZ d dlmZmZ d dlmZ d dlm	Z	  G d de	      Z
deeef   fd	Z e j                  e      Zdefd
Zy)    N)Any)RichToolkitRichToolkitTheme)TaggedStyle)DefaultFormatterc                   P     e Zd Zdededdf fdZdej                  defdZ xZ	S )CustomFormatterargskwargsreturnNc                 B    t        |   |i | t               | _        y )N)super__init__get_rich_toolkittoolkit)selfr
   r   	__class__s      U/media/conek/DATA/Code/OCR/venv/lib/python3.12/site-packages/fastapi_cli/utils/cli.pyr   zCustomFormatter.__init__
   s    $)&)')    recordc                     |j                         }| j                  j                  ||j                        }|dk(  rd|z   }|S )N)tagzShutting down
)
getMessager   print_as_string	levelname)r   r   messageresults       r   formatMessagezCustomFormatter.formatMessage   sE    ##%--g6;K;K-Lo%F]Fr   )
__name__
__module____qualname__r   r   logging	LogRecordstrr   __classcell__)r   s   @r   r	   r	   	   s6    *c *S *T *G$5$5 # r   r	   r   c            
      j    ddt         dd dt         ddddd	d
ddd	ddddgddddidgdddddS )N   Fz%(levelprefix)s %(message)s)()fmt
use_colorszD%(levelprefix)s %(client_addr)s - '%(request_line)s' %(status_code)s)r)   r*   )defaultaccessr,   zlogging.StreamHandlerzext://sys.stderr)	formatterclassstreamr-   zext://sys.stdoutINFO)handlerslevelr3   )r2   r3   	propagate)uvicornzuvicorn.errorzuvicorn.access)versiondisable_existing_loggers
formattersr2   loggers)r	    r   r   get_uvicorn_log_configr;      s    $) &4" &]

 '0, &0,
 &/K&A%v.%J"
5# #r   c                  \    t        t        d      dddddddd	d
d	      } t        |       S )N   )	tag_widthzwhite on #009485zwhite on #007166grey85whitez#007166z
on #007166redzblack on blue)	z	tag.titler   placeholdertextselectedr   progresserrorzlog.info)stylethemerH   )r   r   r   rI   s    r   r   r   A   sA    B'+%#!$'

E U##r   )r#   typingr   rich_toolkitr   r   rich_toolkit.stylesr   uvicorn.loggingr   r	   dictr%   r;   	getLoggerr    loggerr   r:   r   r   <module>rQ      sV      6 + ,& $S#X $N 
		8	$$+ $r   