o
    r¨Êhº  ã                   @   sŽ   d Z ddlmZmZmZ ddlmZ ddlZddlZddl	Z	dgZ
dd„ Zd	d
dd„ fdd„Ze d¡Ze d¡ZdZdZejdfdd„ZdS )zI
Module version for monitoring CLI pipes (`... | python -m tqdm | ...`).
é   )ÚtqdmÚTqdmTypeErrorÚTqdmKeyError)Ú__version__é    NÚmainc              	   C   sì   t  t¡}| | |f¡ d|v r1| d¡D ]}zt| |ƒW   S  ty(   Y qw t| d | ƒ‚|dkrM| dks=| dkr?dS | dkrEdS t| d | ƒ‚zt|d	 |  d
 ƒW S    |dkrntt	td|  d ƒƒƒ Y S t| d | ƒ‚)Nz or z : ÚboolÚTrueÚ TÚFalseFz("z")Úchrú")
ÚloggingÚ	getLoggerÚ__name__ÚdebugÚsplitÚcastr   Úevalr   Úord)ÚvalÚtypÚlogÚt© r   ú:/var/www/html/env/lib/python3.10/site-packages/tqdm/cli.pyr      s,   
ÿr   Ú
é   c                 C   ó   d S ©Nr   )Úintr   r   r   Ú<lambda>)   ó    r!   c           	      C   sú   |j }|s#	 |  |¡}|st|ddd„ ƒƒ  dS ||ƒ |t|ƒƒ qd}	 |  |¡}|sG|r<||ƒ |d| |¡ ƒ t|ddd„ ƒƒ  dS 	 z| |¡}W n ty\   ||7 }Y n w |||d|t|ƒ …  ƒ |dƒ d}||t|ƒ d… }qHq&)	zÁ
    Params
    ------
    fin  : file with `read(buf_size : int)` method
    fout  : file with `write` (and optionally `flush`) methods.
    callback  : function(int), e.g.: `tqdm.update`
    TÚflushc                   S   r   r   r   r   r   r   r   r!   ;   r"   zposix_pipe.<locals>.<lambda>Nr
   r   c                   S   r   r   r   r   r   r   r   r!   L   r"   )ÚwriteÚreadÚgetattrÚlenÚcountÚindexÚ
ValueError)	ÚfinÚfoutÚdelimÚbuf_sizeÚcallbackÚfp_writeÚtmpÚbufÚir   r   r   Ú
posix_pipe(   s@   

÷
þöõr4   z\n {8}(\S+)\s{2,}:\s*([^,]+)z\s*(?<!\S)--?([^\s=]+)(\s+|=|$))ÚiterableÚguiÚoutÚfilea€  
        Extra CLI Options
        -----------------
        name  : type, optional
            TODO: find out why this is needed.
        delim  : chr, optional
            Delimiting character [default: '\n']. Use '\0' for null.
            N.B.: on Windows systems, Python converts '\n' to '\r\n'.
        buf_size  : int, optional
            String buffer size in bytes [default: 256]
            used when `delim` is specified.
        bytes  : bool, optional
            If true, will count bytes, ignore `delim`, and default
            `unit_scale` to True, `unit_divisor` to 1024, and `unit` to 'B'.
        manpath  : str, optional
            Directory in which to install tqdm man pages.
        comppath  : str, optional
            Directory in which to place tqdm completion.
        log  : str, optional
            CRITICAL|FATAL|ERROR|WARN(ING)|[default: 'INFO']|DEBUG|NOTSET.
c                    sr  ˆ du rt jdd… ‰ zˆ  d¡‰W n ty1   ˆ D ]}| d¡r,|tdƒd… } nqd}Y nw ˆ ˆd  }tjtt|ƒdd� t 	t
¡‰tjjt }tt |¡ƒ}tD ]}| |¡ qVˆ t| ¡ ƒ¡ t |¡}t|ddd… |d	dd… |ddd… ƒ}d
 dd„ |D ƒ¡}d| d¡ d }t‡ fdd„dD ƒƒr­t j td ¡ t  d¡ nt‡ fdd„dD ƒƒrÅt j |d ¡ t  d¡ t  d dgˆ  ¡¡‰ ttˆ ddd… ˆ ddd… ƒƒ}	ˆ |	¡ |	 dd¡ d| i}
z2|	 ¡ D ]"\}}zt!||| ƒ|
|< W qõ t"�y } zt#t$|ƒƒ‚d}~ww ˆ dt$|
ƒ ¡ W n   |  d¡ t j%D ]	}t j |¡ �q.‚ |
 dd¡}|
 dd¡}|
 dd¡}|
 d d¡}|
 d!d¡}tt j%d"t j%ƒ}tt jd"t jƒ}|�sm|�rµdd#l&m'} dd$l(m)‰ dd%l*m+}m,} ‡‡fd&d'„}|du�rœ||| -d¡d(ƒ| |d)¡ƒ |du�r°||| -d¡d*ƒ| |d+¡ƒ t  d¡ |�ró|
 .d,d-¡ |
 .d.d¡ |
 .d/d0¡ ˆ |
¡ td1i |
¤Ž�}t/||d
||j0ƒ W d  ƒ dS 1 �sìw   Y  dS |dk�rˆ |
¡ t|fi |
¤ŽD ]}| |¡ �qdS ˆ |
¡ td1i |
¤Ž�}t/|||||j0ƒ W d  ƒ dS 1 �s2w   Y  dS )2zƒ
    Parameters (internal use only)
    ---------
    fp  : file-like object for tqdm
    argv  : list (default: sys.argv[1:])
    Nr   z--logz--log=ÚINFOz/%(levelname)s:%(module)s:%(lineno)d:%(message)s)ÚlevelÚformaté   é   r
   c                 s   s&   � | ]}|d  t vrdj|Ž V  qdS )r   z
  --{0}=<{0}>  : {1}{2}N)ÚUNSUPPORTED_OPTSr;   )Ú.0Úotdr   r   r   Ú	<genexpr>¤   s   € ÿÿzmain.<locals>.<genexpr>z~Usage:
  tqdm [--help | options]

Options:
  -h, --help     Print this help and exit
  -v, --version  Print version and exit

r   c                 3   ó   � | ]}|ˆ v V  qd S r   r   ©r?   Úv©Úargvr   r   rA   ±   ó   € )z-vz	--versionr   c                 3   rB   r   r   rC   rE   r   r   rA   ´   rG   )z-hz--helpú r   r   Tr8   zargs:z)
Error:
Usage:
  tqdm [--help | options]
r.   r   r-   ÚbytesFÚmanpathÚcomppathÚbuffer)Úpath)Úcopyfile)Úresource_filenameÚRequirementc                    s   ˆ | |ƒ ˆ  d| ¡ dS )zcopies from src path to dstzwritten:N)Úinfo)ÚsrcÚdst)rN   r   r   r   ÚcpØ   s   
zmain.<locals>.cpztqdm/tqdm.1ztqdm.1ztqdm/completion.shztqdm_completion.shÚunitÚBÚ
unit_scaleÚunit_divisori   r   )1ÚsysrF   r)   r*   Ú
startswithr'   r   ÚbasicConfigr&   r   r   r   Ú__init__Ú__doc__ÚCLI_EXTRA_DOCÚdictÚRE_OPTSÚfindallr>   Úpopr   ÚsortedÚitemsr   ÚzipÚjoinÚstripÚanyÚstdoutr$   r   ÚexitÚRE_SHLEXr   ÚKeyErrorr   ÚstrÚstdinÚosrM   ÚshutilrN   Úpkg_resourcesrO   rP   ÚparseÚ
setdefaultr4   Úupdate)ÚfprF   r3   ÚlogLevelÚdÚ	opt_typesÚor   Úopt_types_descÚoptsÚ	tqdm_argsrD   Úer.   r-   Údelim_per_charrJ   rK   rn   ri   rM   rO   rP   rT   r   r   )rF   rN   r   r   r   |   sÆ   
þ€ú
þ

*
ÿùù

"
€ÿ



ÿ
ÿ
þ

$ÿ

ÿ
$ÿ)r]   Ústdr   r   r   Ú_versionr   rY   Úrer   Ú__all__r   r4   Úcompiler`   rk   r>   r^   Ústderrr   r   r   r   r   Ú<module>   s     
ÿ
5
