ó
    Eñi°  ã                   óÀ   • S r SSKrSSKrSSKJr   SSKJrJrJrJ	r	  SSKJr   " S S\R                  5      rS	 rS
 r\S\4S j5       r\S 5       rg! \
 a     N>f = f)zB
Helper functionality for interoperability with stdlib `logging`.
é    N)Úcontextmanager)ÚIteratorÚListÚOptionalÚTypeé   )Útqdmc                   ó4   ^ • \ rS rSr\4U 4S jjrS rSrU =r$ )Ú_TqdmLoggingHandleré   c                 ó.   >• [         TU ]  5         Xl        g ©N)ÚsuperÚ__init__Ú
tqdm_class)Úselfr   Ú	__class__s     €ÚQ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/tqdm/contrib/logging.pyr   Ú_TqdmLoggingHandler.__init__   s   ø€ ô 	‰ÑÔØ$�ó    c                 óÞ   •  U R                  U5      nU R                  R                  X R                  S9  U R	                  5         g ! [
        [        4 a    e   U R                  U5         g = f)N)Úfile)Úformatr   ÚwriteÚstreamÚflushÚKeyboardInterruptÚ
SystemExitÚhandleError)r   ÚrecordÚmsgs      r   ÚemitÚ_TqdmLoggingHandler.emit   s\   € ð	%Ø—+‘+˜fÓ%ˆCØ�O‰O×!Ñ! #¯K©KÐ!Ñ8Ø�J‰J�LøÜ!¤:Ð.ó 	Øð	%Ø×Ñ˜VÖ$ús   ‚AA Á#A,)r   )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ústd_tqdmr   r"   Ú__static_attributes__Ú__classcell__)r   s   @r   r   r      s   ø† ð ÷%÷%ð %r   r   c                 óž   • [        U [        R                  5      =(       a-    U R                  [        R
                  [        R                  1;   $ r   )Ú
isinstanceÚloggingÚStreamHandlerr   ÚsysÚstdoutÚstderr)Úhandlers    r   Ú_is_console_logging_handlerr3   #   s5   € Ü�w¤× 5Ñ 5Ó6÷ ;Ø—‘¤3§:¡:¬s¯z©zÐ":Ñ:ð<r   c                 ó>   • U  H  n[        U5      (       d  M  Us  $    g r   )r3   )Úhandlersr2   s     r   Ú(_get_first_found_console_logging_handlerr6   (   s   € ÛˆÜ& w×/Ó/ØŠNò r   c              #   ó  #   • U c  [         R                  /n U  Vs/ s H  o"R                  PM     nn U  HŠ  n[        U5      n[	        UR                  5      nUb,  UR                  UR                  5        UR                  Ul        UR                   Vs/ s H  n[        U5      (       a  M  UPM     snU/-   Ul        MŒ     Sv •  [        X5       H  u  p'Xrl        M     gs  snf s  snf ! [        X5       H  u  p'Xrl        M     f = f7f)a™  
Context manager redirecting console logging to `tqdm.write()`, leaving
other logging handlers (e.g. log files) unaffected.

Parameters
----------
loggers  : list, optional
  Which handlers to redirect (default: [logging.root]).
tqdm_class  : optional

Example
-------
```python
import logging
from tqdm import trange
from tqdm.contrib.logging import logging_redirect_tqdm

LOG = logging.getLogger(__name__)

if __name__ == '__main__':
    logging.basicConfig(level=logging.INFO)
    with logging_redirect_tqdm():
        for i in trange(9):
            if i == 4:
                LOG.info("console logging redirected to `tqdm.write()`")
    # logging restored
```
N)
r-   Úrootr5   r   r6   ÚsetFormatterÚ	formatterr   r3   Úzip)Úloggersr   ÚloggerÚoriginal_handlers_listÚtqdm_handlerÚorig_handlerr2   Úoriginal_handlerss           r   Úlogging_redirect_tqdmrB   .   sö   é € ðD �Ü—<‘<�.ˆÙ<CÓDºG°&Ÿoœo¹GÐÐDð0ÛˆFÜ.¨zÓ:ˆLÜCÀFÇOÁOÓTˆLØÑ'Ø×)Ñ)¨,×*@Ñ*@ÔAØ&2×&9Ñ&9�Ô#à'-§¢ó=Ú'6˜GÜ2°7×;÷ ¡ñ=à@L¸~ñNˆFŽOñ ó 	ä),¨WÖ)MÑ%ˆFØ/ŽOò *Nùò Eùò=øô
 *-¨WÖ)MÑ%ˆFØ/ŽOò *Nüs?   ‚D›C"°D³A"C, ÂC'Â-C'Â3C, Ã DÃ'C, Ã,DÄDc               /   ó  #   • UR                  5       nUR                  SS5      nUR                  S[        5      nU" U 0 UD6 n[        X4S9   Uv •  SSS5        SSS5        g! , (       d  f       N= f! , (       d  f       g= f7f)a@  
Convenience shortcut for:
```python
with tqdm_class(*args, **tqdm_kwargs) as pbar:
    with logging_redirect_tqdm(loggers=loggers, tqdm_class=tqdm_class):
        yield pbar
```

Parameters
----------
tqdm_class  : optional, (default: tqdm.std.tqdm).
loggers  : optional, list.
**tqdm_kwargs  : passed to `tqdm_class`.
r<   Nr   )r<   r   )ÚcopyÚpopr(   rB   )ÚargsÚkwargsÚtqdm_kwargsr<   r   Úpbars         r   Útqdm_logging_redirectrJ   c   sk   é € ð, —+‘+“-€KØ�o‰o˜i¨Ó.€GØ—‘ ¬xÓ8€JÙ	�TÐ	)˜[Ò	)¨TÜ"¨7ÓJØŠJ÷ K÷ 
*Ð	)ßJÕJú÷ 
*Õ	)üs6   ‚ABÁ
A4ÁA#ÁA4Á	BÁ#
A1	Á-A4Á4
BÁ>B)Ú__doc__r-   r/   Ú
contextlibr   Útypingr   r   r   r   ÚImportErrorÚstdr	   r(   r.   r   r3   r6   rB   rJ   © r   r   Ú<module>rQ      s…   ðñó Û 
Ý %ð	ß5Ó5õ #ô%˜'×/Ñ/ô %ò&<ò
ð àØó10ó ð10ðh ñó ñøðu ó 	Ùð	ús   ’A ÁAÁA