o
    Zc,
                     @   s   d Z ddlZddlmZ ddlmZ ddl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edd Zedd ZdS )z^
Thin wrappers around common functions.

Subpackages contain potentially unstable extensions.
    N)wraps   )tqdm)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 t| | g | _d S N)superr
   __init___buf)selfwrapped	__class__ K/var/www/chikooza/env/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                    s.   t jdd dk rt  fdd}|S  S )z*Wraps `func()` output in a `list()` in py2N   )   c                     s   t  | i |S r   )list)argskwargsfuncr   r   inner/   s   zbuiltin_iterable.<locals>.inner)sysversion_infor   )r6   r7   r   r5   r   builtin_iterable,   s
   r:   c                 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startr;   
tqdm_classtqdm_kwargsnpr   r   r   r   6   s   r   c                 o   sB    |  }|dt}t|| fi |g|R  D ]}|V  qdS )zr
    Equivalent of builtin `zip`.

    Parameters
    ----------
    tqdm_class  : [default: tqdm.auto.tqdm].
    rD   N)copypop	tqdm_autozip)iter1	iter2plusrE   r4   rD   ir   r   r   r   I   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	sequencesrE   rM   r   r   r   r	   X   s   	r	   )r.   r8   	functoolsr   autor   rI   stdutilsr   
__author____all__r
   r:   r   r   r	   r   r   r   r   <module>   s    


