
    ffY                       d Z ddlmZ ddlZddlZddlZddlZddlmZ ddlm	Z	 ddlm
Z
  ej                  ej                  dd      d         Zd	e_         G d
 dej                         ZddZ e       Zej)                  e       ej*                  fddZej/                   e              ej0                  dd       Zej0                  efdd       Zy)z%
logging helpers, supports vendoring
    )annotationsN)IO)Iterator)Mapping.   Fc                  X     e Zd Zd fdZedd       Zej                  dd       Z xZS )AlwaysStdErrHandlerc                @    t         |   t        j                         y N)super__init__sysstderr)self	__class__s    k/var/dept/share/cheung/public_html/OutSchool/python/env/lib/python3.12/site-packages/setuptools_scm/_log.py	__init___zAlwaysStdErrHandler.__init___   s    $    c                "    t         j                  S r   r   r   )r   s    r   streamzAlwaysStdErrHandler.stream   s    zzr   c                ,    |t         j                  u sJ y r   r   )r   values     r   r   zAlwaysStdErrHandler.stream   s    

"""r   )returnNone)r   IO[str])r   r   r   r   )__name__
__module____qualname__r   propertyr   setter__classcell__)r   s   @r   r
   r
      s4    %   ]]# #r   r
   c                     	 ddl m}   | d      }ddlm}  ||      S # t        $ r3 t               }|j                  t        j                  d             |cY S w xY w)Nr   )ConsoleT)r   )RichHandler)consolez"%(levelname)s %(name)s %(message)s)	rich.consoler%   rich.loggingr&   ImportErrorr
   setFormatterlogging	Formatter)r%   r'   r&   handlers       r   make_default_handlerr/   !   sX    
(&,7++ %'W../STUs     9AAc                h    | j                  d      }|t        j                  S t        j                  S )NSETUPTOOLS_SCM_DEBUG)getr,   WARNDEBUG)_envvals     r   _default_log_levelr7   4   s(    hh56C;7<<9GMM9r   c               #    K   dt         _        t         j                  } t         j                  t        j
                         t         j                  t               	 d  t         j                  t               dt         _        t         j                  |        y # t         j                  t               dt         _        t         j                  |        w xY ww)NTF)	log	propagatelevelsetLevelr,   NOTSETremoveHandler_default_handler
addHandler)	old_levels    r   defer_to_pytestrB   <   s     CM		ILL &' '(Y 	'(Ys   ACB :C;CCc              #    K   t         j                  |        t         j                  }t         j                  t        j
                         | j                  }| j                  t        j
                         	 d  t         j                  |       | j                  |       | t        urt         j                  |        y y # t         j                  |       | j                  |       | t        urt         j                  |        w w xY wwr   )r9   r@   r;   r<   r,   r4   r?   r>   )r.   rA   old_handler_levels      r   enable_debugrE   J   s     NN7		ILLW]]#'Y*+**g& + 	Y*+**g& +s    A4D	7C  ;AD	 ADD	)r   logging.Handler)r5   zMapping[str, str]r   int)r   Iterator[None])r.   rF   r   rH   )__doc__
__future__r   
contextlibr,   osr   typingr   r   r   	getLoggerr   rsplitr9   r:   StreamHandlerr
   r/   r?   r@   environr7   r<   contextmanagerrB   rE    r   r   <module>rT      s    #   	 
   gQ/23
#'// 
# ()     24 :
 ! " 
  
  ,< ' 'r   