
    LMh                     Z    d Z ddlmZ ddlmZ ddlmZ ddgiZdgZ	 G d	 de
          Zd
S )z,
IO/concurrency helpers for `tqdm.contrib`.
    )deque)ThreadPoolExecutor   )tqdmzgithub.com/	casperdcl
MonoWorkerc                       e Zd ZdZd Zd ZdS )r   z
    Supports one running task and one waiting task.
    The waiting task is the most recent submitted (others are discarded).
    c                 Z    t          d          | _        t          g d          | _        d S )N   )max_workersr   )r   poolr   futures)selfs    Y/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/tqdm/contrib/utils_worker.py__init__zMonoWorker.__init__   s'    &1555	R||    c                    | j         }t          |          |j        k    rt|                                }|                                sLt          |          r(|                                }|                                 |                    |           	  | j        j	        |g|R i |}|
                    |           |S # t          $ r,}t          j        t          |                     Y d}~dS d}~ww xY w)z;`func(*args, **kwargs)` may replace currently waiting task.N)r   lenmaxlenpopleftdonepopcancel
appendleftr   submitappend	Exception	tqdm_autowritestr)r   funcargskwargsr   runningwaitinges           r   r   zMonoWorker.submit   s   ,w<<7>))oo''G<<>> ,w<< %%kkmmGNN$$$""7+++	&di&t=d===f==G NN7###N	  	$ 	$ 	$OCFF#########	$s   C 
C8!C33C8N)__name__
__module____qualname____doc__r   r    r   r   r   r      s<         $ $ $    r   N)r*   collectionsr   concurrent.futuresr   autor   r   
__author____all__objectr   r+   r   r   <module>r2      s           1 1 1 1 1 1 $ $ $ $ $ $k]+
.         r   