o
    Ð­jò*  ã                   @   s²   d Z ddlZddlZddlZddlmZ ddlmZ ddl	m
Z
mZmZ ddlmZ dgZe e¡Zd	d
„ Zd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 | ...`).
é    N)Úliteral_eval)Úindenté   )ÚTqdmKeyErrorÚTqdmTypeErrorÚtqdm)Ú__version__Úmainc              
   C   s~  t  | |f¡ d|v r-| d¡D ]}zt| |ƒW   S  ty#   Y qw t| › d|› �ƒ‚|dkrI| dks9| dkr;dS | dkrAdS t| d | ƒ‚|d	krpt| ƒd
krW|  ¡ S t d| ¡rgt	d| › d�ƒ ¡ S t| › d|› �ƒ‚|dkrv| S |dkr–zt
| ƒW S  ty• } z
t| › d|› �ƒ|‚d }~ww |dkr¶zt| ƒW S  tyµ } z
t| › d|› �ƒ|‚d }~ww t| › d|› �ƒ‚)Nz or z : ÚboolÚTrueÚ TÚFalseFÚchrr   z^\\\w+$ú"ÚstrÚintÚfloat)ÚlogÚdebugÚsplitÚcastr   ÚlenÚencodeÚreÚmatchÚevalr   Ú
ValueErrorr   )ÚvalÚtypÚtÚexc© r!   úE/var/www/html/CropPilot/venv/lib/python3.10/site-packages/tqdm/cli.pyr      sL   ÿ
€ÿ
€ÿr   ó   \né   c                 C   ó   d S ©Nr!   )r   r!   r!   r"   Ú<lambda>8   ó    r'   Tc                 C   s"  |j }|s#	 |  |¡}|st|ddd„ ƒƒ  dS ||ƒ |t|ƒƒ qd}t|ƒ}		 |  |¡}|sZ|rO||ƒ |rC|d| |¡ ƒ n| |¡D ]}
||
ƒ qHt|ddd„ ƒƒ  dS 	 | |¡}
|
d	k ri||7 }n'|||d|
t|ƒ …  ƒ ||r|dn||d|
…  ƒ d}||
|	 d… }q[q*)
aZ  
    Params
    ------
    fin  : binary file with `read(buf_size : int)` method
    fout  : binary file with `write` (and optionally `flush`) methods.
    callback  : function(float), e.g.: `tqdm.update`
    callback_len  : If (default: True) do `callback(len(buffer))`.
      Otherwise, do `callback(data) for data in buffer.split(delim)`.
    TÚflushc                   S   r%   r&   r!   r!   r!   r!   r"   r'   J   r(   zposix_pipe.<locals>.<lambda>Nó    r   c                   S   r%   r&   r!   r!   r!   r!   r"   r'   a   r(   r   )ÚwriteÚreadÚgetattrr   Úcountr   Úfind)ÚfinÚfoutÚdelimÚbuf_sizeÚcallbackÚcallback_lenÚfp_writeÚtmpÚbufÚ	len_delimÚir!   r!   r"   Ú
posix_pipe7   sD   
÷


÷ðr;   z\n {4}(\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'.
    tee  : bool, optional
        If true, passes `stdin` to both `stderr` and `stdout`.
    update  : bool, optional
        If true, will treat input as newly elapsed iterations,
        i.e. numbers to pass to `update()`. Note that this is slow
        (~2e5 it/s) since every input must be decoded as a number.
    update_to  : bool, optional
        If true, will treat input as total elapsed iterations,
        i.e. numbers to assign to `self.n`. Note that this is slow
        (~2e5 it/s) since every input must be decoded as a number.
    null  : bool, optional
        If true, will discard input (no stdout).
    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                    s"  ˆ 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 j	dk rJt
jntt
jd	ƒt }tt |¡ƒ}tD ]}| |¡ q[t t| ¡ ƒ¡ t |¡}t|d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¡ n3t‡ fdd„dD ƒƒrÏt j |d ¡ t  d¡ nˆ réˆ d dd… dkrét j  dˆ d › d|
› �¡ t! d dgˆ  ¡¡‰ ttˆ ddd
… ˆ d
dd
… ƒƒ}t |¡ | dd¡ dˆi}zY| ¡ D ])\}}| "dd¡}zt#||| ƒ||< W �q t$�yB } zt%t&|ƒƒ‚d}~ww t d t&|ƒ ¡ | d!d"¡}| d#d"¡}| d$d"¡}t'|||fƒdk�rlt%d%ƒ‚W n" t(�y�   ˆ d&|
 ¡ t j)t jj}‰|D ]}ˆ|ƒ �q†‚ w | d'd(¡}| d)d*¡}| d+d"¡}| d,d¡}| d-d¡}| d.d"¡�r½G d/d0„ d0ƒ}n	t j}t|d1|ƒ}tt j)d1t j)ƒ}|�sÔ|�rzddl*‰W n t+�yê   dd2l,m-‰ Y nw dd3l.m/} ‡fd4d5„}|du�r|d6||ƒd6 ƒ |du�r|d7||ƒd8 ƒ t  d¡ |�r0|j‰tˆd1ˆƒj‰G ‡‡‡fd9d0„d0ƒ}|�rn| 0d:d;¡ | 0d<d¡ | 0d=d>¡ t |¡ t
dDi |¤Ž�‰t1||d|ˆj2ƒ W d  ƒ dS 1 �sgw   Y  dS |d*k�rÍt |¡ |j}|�s�|�r»t
dDi |¤Ž�&‰|�r“‡fd?d@„}n‡fdAd@„}|D ]}||ƒ ||ƒ �q›W d  ƒ n1 �s²w   Y  dS dS t
|fi |¤ŽD ]}||ƒ �qÃdS t |¡ t
dDi |¤Ž�-‰d"}|�ræ‡fdBd@„}n|�rð‡fdCd@„}nˆj2}d}t1||||||ƒ W d  ƒ dS 1 �s
w   Y  dS )Ezƒ
    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)é   é   z    rC   é   r   c                 s   sX   � | ]'}|d  t vr|d dkrdndj|d   dd¡|d  g|dd… ¢R Ž V  qdS )r   r   r
   z
  --{0}  : {2}{3}z
  --{0}=<{1}>  : {2}{3}Ú_ú-N)ÚUNSUPPORTED_OPTSrB   Úreplace)Ú.0Úotdr!   r!   r"   Ú	<genexpr>Ä   s   € ýþ
þýzmain.<locals>.<genexpr>z!Usage:
  tqdm [--help | options]
z^
Options:
  -h, --help     Print this help and exit.
  -v, --version  Print version and exit.
Ú
c                 3   ó   � | ]}|ˆ v V  qd S r&   r!   ©rJ   Úv©Úargvr!   r"   rL   Ñ   ó   € )z-vz	--versionr   c                 3   rN   r&   r!   rO   rQ   r!   r"   rL   Ô   rS   )z-hz--helpz--zError:Unknown argument:ú r   r   Tr?   rG   rF   zargs:ÚbytesFÚupdateÚ	update_toz1Can only have one of --bytes --update --update_toz
Error:
r3   r$   r2   r#   ÚteeÚmanpathÚcomppathÚnullc                   @   s   e Zd Zedd„ ƒZdS )úmain.<locals>.stdoutc                 S   r%   r&   r!   )rF   r!   r!   r"   r+   ý   s   úmain.<locals>.stdout.writeN©Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr+   r!   r!   r!   r"   Ústdoutü   s    rc   Úbuffer©Ú	resources)ÚPathc                    s,   ˆ   d¡|  }| | ¡ ¡ t d|¡ dS )zcopy resource `name` to `dst`r   z
written:%sN)ÚfilesÚwrite_bytesÚ
read_bytesr   Úinfo)ÚnameÚdstÚfire   r!   r"   Úcp  s   zmain.<locals>.cpztqdm.1zcompletion.shztqdm_completion.shc                       s    e Zd Ze‡ ‡‡fdd„ƒZdS )r\   c                    s@   t jˆ d�� ˆ| ƒ W d   ƒ n1 sw   Y  ˆ| ƒ d S )N)r?   )r   Úexternal_write_mode)Úx©Úfpr6   Ústdout_writer!   r"   r+     s   
ÿr]   Nr^   r!   rr   r!   r"   rc     s    ÚunitÚBÚ
unit_scaleÚunit_divisori   c                    ó   ˆ   t|  ¡ ƒ¡ d S r&   ©rV   ÚnumericÚdecode©r:   ©r   r!   r"   r4   ,  ó   zmain.<locals>.callbackc                    ó   ˆ   t|  ¡ ƒˆ j ¡ d S r&   ©rV   r{   r|   Únr}   r~   r!   r"   r4   /  ó   c                    ry   r&   rz   r}   r~   r!   r"   r4   <  r   c                    r€   r&   r�   r}   r~   r!   r"   r4   ?  rƒ   r!   )3ÚsysrR   Úindexr   Ú
startswithr   ÚloggingÚbasicConfigr-   Úversion_infor   Ú__doc__r   ÚCLI_EXTRA_DOCÚdictÚRE_OPTSÚfindallrH   Úpopr   r   ÚsortedÚitemsr   ÚzipÚjoinÚstripÚanyrc   r+   r   ÚexitÚstderrÚRE_SHLEXrI   r   ÚKeyErrorr   r   ÚsumÚ	ExceptionÚstdinÚimportlib_resourcesÚImportErrorÚ	importlibrf   Úpathlibrg   Ú
setdefaultr;   rV   )rs   rR   Úlog_idxr:   ÚlogLevelÚdÚ	opt_typesÚor   Úopt_types_descÚ
help_shortÚoptsÚ	tqdm_argsrP   ÚeÚdelim_per_charrV   rW   rœ   r3   r2   rX   rY   rZ   rc   rg   ro   r+   r4   r5   r!   )rR   rs   r6   rf   rt   r   r"   r	   œ   s
  
þ€ú
ÿÿ
*
ýüü"
€ÿÿûÿ



$ÿ

þ&ùÿ
$õ)rŠ   r‡   r   r„   Úastr   r{   Útextwrapr   Ústdr   r   r   Úversionr   Ú__all__Ú	getLoggerr_   r   r   r;   Úcompiler�   r˜   rH   r‹   r—   r	   r!   r!   r!   r"   Ú<module>   s&    
&
ÿ
:
#