a
    &ñ»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/Z	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__© ú;E:\soccer\ml_env\Lib\site-packages\tqdm/contrib/__init__.pyr      s    zDummyTqdmFile.__init__Fc                 C   sn   t |tƒrdnd}| |¡\}}}|r^t|ƒƒ }tj| | j||g ¡|| j|d� |g| _n| 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   sP   | j rLt| j d ƒƒ }ztj| | j ¡|| jd� W n ttfyJ   Y n0 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    ÿr1   Nc                 K   sf   zddl }W n ty   Y n.0 t| |jƒrL|| | ¡fd|pB| 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   ZndarrayZndenumerateÚsizeÚ	enumerate)ÚiterableÚstartr2   Ú
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].
    r9   N)ÚcopyÚpopÚ	tqdm_autoÚzip)Ziter1Z	iter2plusr:   Úkwargsr9   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   r>   Zstdr   Úutilsr   Ú
__author__Ú__all__r
   r1   r   r   r	   r   r   r   r   Ú<module>   s   
