o
    Œõ±j¯	  ã                   @   s†   d Z ddlmZ ddlmZ ddlmZmZ ddlm	Z	 ddgiZ
g d	¢ZG d
d„ de	ƒZdd„ Zddefdd„Zdd„ Zdd„ ZdS )z^
Thin wrappers around common functions.

Subpackages contain potentially unstable extensions.
é    )Úwarné   )Útqdm)ÚTqdmDeprecationWarningr   )ÚObjectWrapperzgithub.com/Ú	casperdcl)Ú
tenumerateÚtzipÚtmapc                       s2   e Zd ZdZ‡ fdd„Zd	dd„Zdd„ Z‡  ZS )
ÚDummyTqdmFilez'Dummy file-like that will write to tqdmc                    s   t ƒ  |¡ g | _d S )N)ÚsuperÚ__init__Ú_buf)ÚselfÚwrapped©Ú	__class__© úˆ/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/tqdm/contrib/__init__.pyr      s   
zDummyTqdmFile.__init__Fc                 C   sp   t |tƒrdnd}| |¡\}}}|r0t|ƒƒ }tj| | j||g ¡|| j|d� |g| _d S | j 	|¡ d S )Nó   
Ú
)ÚendÚfileÚnolock)
Ú
isinstanceÚbytesÚ
rpartitionÚtyper   ÚwriteÚjoinr   Ú_wrappedÚappend)r   Úxr   ÚnlÚpreÚsepÚpostÚblankr   r   r   r      s   
ÿzDummyTqdmFile.writec              	   C   sT   | j r(t| j d ƒƒ }ztj| | j ¡|| jd� W d S  ttfy'   Y d S w d S )Nr   )r   r   )r   r   r   r   r   r    ÚOSErrorÚ
ValueError)r   r'   r   r   r   Ú__del__"   s    ÿüzDummyTqdmFile.__del__)F)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r*   Ú__classcell__r   r   r   r   r      s
    
r   c                 C   s   t dtdd� | S )zReturns `func`z?This function has no effect, and will be removed in tqdm==5.0.0r   )Ú
stacklevel)r   r   )Úfuncr   r   r   Úbuiltin_iterable+   s   ÿr2   Nc                 K   sf   zddl }W n	 ty   Y nw t| |jƒr&|| | ¡fd|p!| ji|¤ŽS t|| fd|i|¤Ž|ƒS )z�
    Equivalent of `numpy.ndenumerate` or builtin `enumerate`.

    Parameters
    ----------
    tqdm_class  : [default: tqdm.auto.tqdm].
    r   NÚtotal)ÚnumpyÚImportErrorr   ÚndarrayÚndenumerateÚsizeÚ	enumerate)ÚiterableÚstartr3   Ú
tqdm_classÚtqdm_kwargsÚnpr   r   r   r   2   s   ÿÿr   c                 o   s<   � |  ¡ }| dt¡}t|| fi |¤Žg|¢R Ž E dH  dS )zr
    Equivalent of builtin `zip`.

    Parameters
    ----------
    tqdm_class  : [default: tqdm.auto.tqdm].
    r<   N)ÚcopyÚpopÚ	tqdm_autoÚzip)Úiter1Ú	iter2plusr=   Úkwargsr<   r   r   r   r	   E   s   €&r	   c                 o   s$   � t |i |¤ŽD ]}| |Ž V  qdS )zr
    Equivalent of builtin `map`.

    Parameters
    ----------
    tqdm_class  : [default: tqdm.auto.tqdm].
    N)r	   )ÚfunctionÚ	sequencesr=   Úir   r   r   r
   R   s   €ÿr
   )r.   Úwarningsr   Úautor   rA   Ústdr   Úutilsr   Ú
__author__Ú__all__r   r2   r   r	   r
   r   r   r   r   Ú<module>   s    
