idZddlZddlZddlmZ ddlmZmZmZm Z n #e $rYnwxYwddl m Z GddejZd Zd Zede fd Zed ZdS) zB Helper functionality for interoperability with stdlib `logging`. N)contextmanager)IteratorListOptionalType)tqdmc(eZdZeffd ZdZxZS)_TqdmLoggingHandlercVt||_dSN)super__init__ tqdm_class)selfr __class__s BC:\PYTHON\_runtimes\venv\Lib\site-packages\tqdm/contrib/logging.pyrz_TqdmLoggingHandler.__init__s& $c ||}|j||j|dS#t t f$r||YdSxYw)N)file)formatrwritestreamflushKeyboardInterrupt SystemExit handleError)rrecordmsgs remitz_TqdmLoggingHandler.emits %++f%%C O ! !#DK ! 8 8 8 JJLLLLL!:.     %   V $ $ $ $ $ $s A A(A9)__name__ __module__ __qualname__std_tqdmrr __classcell__)rs@rr r sQ%%%%%%%%%%%%%rr ctt|tjo|jtjtjhvSr ) isinstancelogging StreamHandlerrsysstdoutstderr)handlers r_is_console_logging_handlerr.#s/ w 5 6 6 ;3:sz"::z)logging_redirect_tqdm..RsDDD&foDDDrc0g|]}t||Sr5r0)r6r-s rr8z)logging_redirect_tqdm..Zs6===#27;;====r) r(rootr r2r1 setFormatter formatterrzip)loggersroriginal_handlers_listr7 tqdm_handler orig_handleroriginal_handlerss rlogging_redirect_tqdmrC.s#D<.DDGDDD 0 N NF.z::LCFOTTL')),*@AAA&2&9 #=='-===@L~NFOO ),W6L)M)M 0 0 %F%/FOO 0 0W6L)M)M 0 0 %F%/FOO 0s A.B,,C c/0K|}|dd}|dt}||i|5}t||5|Vdddn #1swxYwYddddS#1swxYwYdS)ap 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)copypopr$rC)argskwargs tqdm_kwargsr>rpbars rtqdm_logging_redirectrKcs",++--Kooi..Gx88J T )[ ) )T "7z J J J  JJJ               s6B "A3' B 3A7 7B :A7 ;B  BB)__doc__r(r* contextlibrtypingrrrr ImportErrorstdr r$r)r r.r2rCrKr5rrrQs, %%%%%% 5555555555555   D #"""""%%%%%'/%%%&<<<   10101010hs ''