U
    ¸mœdÑ	  ã                   @   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
d	d
dg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 t| ƒ |¡ g | _d S )N)Úsuperr
   Ú__init__Ú_buf)ÚselfÚwrapped©Ú	__class__© úN/home/sam/Atlas/atlas_env/lib/python3.8/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   sR   | j rNt| j d ƒƒ }ztj| | j ¡|| jd� W n ttfk
rL   Y nX 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   sh   zddl }W n tk
r    Y n.X t| |jƒrN|| | ¡fd|pD| 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    ÿc                 o   s:   |  ¡ }| dt¡}t|| f|Žf|žŽ D ]
}|V  q*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   Úir   r   r   r   E   s    c                 o   s   t ||ŽD ]}| |Ž V  q
dS )zr
    Equivalent of builtin `map`.

    Parameters
    ----------
    tqdm_class  : [default: tqdm.auto.tqdm].
    N)r   )ÚfunctionÚ	sequencesr:   rA   r   r   r   r	   S   s    )r-   Úwarningsr   Úautor   r>   Zstdr   Úutilsr   Ú
__author__Ú__all__r
   r1   r   r   r	   r   r   r   r   Ú<module>   s   

