i".zdZddlZddlZddlZddlmZmZmZddlm Z ddl m Z ddl m Z ddlmZeeeef\ZZZZejZedd DZed d DZejd Z erddlZne ej d n'#e!$rej YnwxYw#e$rdZYnwxYwd(dZ"GddZ#GddZ$GddZ%Gdde%Z&Gdde%Z'Gdde%Z(dZ)dZ*dZ+dZ,d Z-d!Z.d"Z/d#Z0d$Z1d%Z2d&Z3d'Z4dS))z* General helpers required for `tqdm.std`. N)partial partialmethodwraps) signatureeast_asian_width)warnproxyc#JK|]}t|VdSNCUR_OS startswith.0is 8C:\PYTHON\_runtimes\venv\Lib\site-packages\tqdm/utils.py rs0 ? ?aV  q ! ! ? ? ? ? ? ?)win32cygwinc#JK|]}t|VdSr rrs rrrs0 Q QaV  q ! ! Q Q Q Q Q Qr)aixlinuxdarwinfreebsdz\x1b\[[;\d]*[A-Za-z]F)stripcitfdtjD|rtnt fd}|S)a Override parameter defaults via `os.environ[prefix + param_name]`. Maps UPPER_CASE env vars map to lower_case param names. camelCase isn't supported (because Windows ignores case). Precedence (highest first): - call (`foo(a=3)`) - environ (`FOO_A=2`) - signature (`def foo(a=1)`) Parameters ---------- prefix : str Env var prefix, e.g. "FOO_" types : dict, optional Fallback mappings `{'param_name': type, ...}` if types cannot be inferred from function signature. Consider using `types=collections.defaultdict(lambda: ast.literal_eval)`. is_method : bool, optional Whether to use `functools.partialmethod`. If (default: False) use `functools.partial`. Examples -------- ``` $ cat foo.py from tqdm.utils import envwrap @envwrap("FOO_") def test(a=1, b=2, c=3): print(f"received: a={a}, b={b}, c={c}") $ FOO_A=42 FOO_C=1337 python -c 'import foo; foo.test(c=99)' received: a=42, b=2, c=99 ``` Nczi|]7\}}||d|8Sr )rlower)rkvrprefixs r zenvwrap..IsA]]]$!Q U[H\H\]QqrrU[[]]A]]]rct|jfdD}|D]}|}|j|jurFt |jd|jfD](} |||||<n#t $rY%wxYw^|j't|j||||< |||||<#t$rYwxYw|fi|S)Nc$i|] \}}|v || Sr()rr"r#paramss rr%z)envwrap..wrap..Os$KKKdaqF{{Q{{{r__args__) r parametersitems annotationemptygetattr ExceptiondefaulttypeKeyError) func overridesr"paramtypr) env_overridesparttypess @rwrapzenvwrap..wrapLsP4+KKKKm&9&9&;&;KKK   A1IEu{22"5#3Z%BRATUUC'*s9Q<'8'8 ! %*2tEM229Q<@@ ! #+58IaL#9#9IaLLDtD&&I&&&s$0B BBC!! C.-C.)lenosenvironr,rr)r$r: is_methodr;r8rr9s`` @@@renvwrapr@"sH } F A]]]]]"*2B2B2D2D]]]M% 2==7D'''''''. Krc eZdZdZddZdZdS) FormatReplacezN >>> a = FormatReplace('something') >>> f"{a:5d}" 'something' c"||_d|_dSNr)replace format_called)selfrFs r__init__zFormatReplace.__init__ls rc0|xjdz c_|jS)N)rGrF)rH_s r __format__zFormatReplace.__format__ps a|rN)rC)__name__ __module__ __qualname____doc__rIrMr(rrrBrBfsA rrBc6eZdZdZdZdZdZdZdZdZ dS) Comparablez1Assumes child has self._comparable attr/@propertyc"|j|jkSr  _comparablerHothers r__lt__zComparable.__lt__ws%"333rc||kp||kSr r(rWs r__le__zComparable.__le__zsu 0$%-0rc"|j|jkSr rUrWs r__eq__zComparable.__eq__}s5#444rc||k Sr r(rWs r__ne__zComparable.__ne__5=  rc||k Sr r(rWs r__gt__zComparable.__gt__r`rc||k Sr r(rWs r__ge__zComparable.__ge__s%<rN) rNrOrPrQrYr[r]r_rbrdr(rrrSrSust;;444111555!!!!!!     rrSc,eZdZdZdZdZdZdZdS) ObjectWrapperc,t|j|Sr )r/_wrappedrHnames r __getattr__zObjectWrapper.__getattr__st}d+++rc.t|j||Sr )setattrrhrHrjvalues r __setattr__zObjectWrapper.__setattr__st}dE222rcz t||S#t$rt||cYSwxYw)z7Actual `self.getattr` rather than self._wrapped.getattr)objectrkAttributeErrorr/ris rwrapper_getattrzObjectWrapper.wrapper_getattrsN '%%dD11 1 ' ' '4&& & & & 's ::c:t|||S)z7Actual `self.setattr` rather than self._wrapped.setattr)rrrprns rwrapper_setattrzObjectWrapper.wrapper_setattrs!!$e444rc2|d|dS)z4 Thin wrapper around a given object rhN)rv)rHwrappeds rrIzObjectWrapper.__init__s  Z11111rN)rNrOrPrkrprtrvrIr(rrrfrfs_,,,333'''55522222rrfc.eZdZdZfdZdZdZxZS)SimpleTextIOWrapperz Change only `.write()` of the wrapped object by encoding the passed value and passing the result to the wrapped object's `.write()` method. cvt||d|dS)Nencoding)superrIrv)rHrxr| __class__s rrIzSimpleTextIOWrapper.__init__s7 !!! Z22222rc|j||dS)zP Encode `s` and pass to the wrapped object's `.write()` method. r|)rhwriteencodert)rHss rrzSimpleTextIOWrapper.writes4}""188D,@,@,L,L#M#MNNNrc6|jt|d|kSNrhrhr/rWs rr]zSimpleTextIOWrapper.__eq__}z5 A AAAr)rNrOrPrQrIrr] __classcell__r~s@rrzrzsj 33333OOO BBBBBBBrrzc>eZdZdZedZfdZdZxZS)DisableOnWriteErrorzO Disable the given `tqdm_instance` upon `write()` or `flush()` errors. c4tfd}|S)zV Quietly set `tqdm_instance.miniters=inf` if `func` raises `errno=5`. cX |i|S#t$rC}|jdkr td_n#t$rYn wxYwYd}~dSYd}~dSd}~wt $rI}dt |vr td_n#t$rYn wxYwYd}~dSYd}~dSd}~wwxYw)Ninfclosed)OSErrorerrnofloatminitersReferenceError ValueErrorstr)argskwargser4 tqdm_instances rinnerz7DisableOnWriteError.disable_on_exception..inners" tT,V,,,   7a<<-25\\M**%D+*****DDDDD   3q66))-25\\M**%D+*****DDDDD  sd B) A7A AAAA B) B$3BB$ BB$BB$$B)r )rr4rs`` rdisable_on_exceptionz(DisableOnWriteError.disable_on_exceptions8 m,,       " rcJt|t|dr/|d|||jt|dr1|d|||jdSdS)Nrflush)r}rIhasattrrvrrr)rHrxrr~s rrIzDisableOnWriteError.__init__s !!! 7G $ $ R  22='-PP R R R 7G $ $ R  22='-PP R R R R R R Rrc6|jt|d|kSrrrWs rr]zDisableOnWriteError.__eq__rr) rNrOrPrQ staticmethodrrIr]rrs@rrrsx\2RRRRRBBBBBBBrrc eZdZdfd ZxZS)CallbackIOWrapperreadclt|t|||dkr3tfd}|d|dS|dkr3tfd}|d|dSt d)z{ Wrap a given `file`-like object's `read()` or `write()` to report lengths to the given `callback` rcP|g|Ri|}t||Sr r<)datarrrescallbackr4s rrz)CallbackIOWrapper.__init__..writes=d41$111&11T### rrcH|i|}t||Sr r)rrrrr4s rrz(CallbackIOWrapper.__init__..reads2tT,V,,T### rz Can only wrap read/write methodsN)r}rIr/rrvr3)rHrstreammethodrrr4r~s ` @rrIzCallbackIOWrapper.__init__s    vv&& W   4[[     [   % 0 0 0 0 0 v   4[[     [    . . . . .=>> >r)r)rNrOrPrIrrs@rrrs=??????????rrc d|dS#t$rYdSt$rC |dpd|kcYS#t$rYYdSwxYwwxYw)Nu█▉TFzutf-U8)rUnicodeEncodeErrorr0r!r)r|s r_is_utfrs h'''t uu  >>##..v66L48;K L L L   555 s1 A2 A2,AA2 A.)A2-A..A2cN t|jS#t$rYdSwxYwNF)rr|rs)fps r_supports_unicoder s9r{### uus  $$ct|tr|D]}t|dkrdSdSt|S)NFT) isinstancerordr)rcs r _is_asciirsQ!S  A1vv||uut Q  rcTd}trt}|t}trt}|S)zy Return a function which returns console dimensions (width, height). Supported: linux, osx, windows, cygwin. N)IS_WIN_screen_shape_windows_screen_shape_tputIS_NIX_screen_shape_linux) _screen_shapes r_screen_shape_wrapperrs4 M /-  .M ,+ rc ^ ddl}ddlm}m}ddlm}m}d}||krd}n||krd}|j|}|d}|j ||} | r1| d|j \ } } } } }}}}}}}||z ||z fSn#t$rYnwxYwd S) Nr)create_string_bufferwindll)stdinstdoutiii hhhhHhhhhhhNN) structctypesrrsysrrkernel32 GetStdHandleGetConsoleScreenBufferInfounpackrawr0)rrrrrr io_handlehcsbir_bufx_bufy_curx_cury_wattrlefttoprightbottom_maxx_maxys rrr)s  77777777%%%%%%%% ;;II 6\\I O ( ( 3 3##B''o88DAA  .#]]=$(CC UE5%sE6 E4<#- - .      :sBB B*)B*c^ ddlddlmfddDS#t$rYnwxYwdS)zcygwin xterm (windows)rN) check_callc rg|]3}td|zdz 4S)ztput rK)intsplit)rrrshlexs r z&_screen_shape_tput..FsP,,,JJu{{7Q;778899A=,,,r)colslinesr)r subprocessrr0)rLrrs @@rrrAsy  )))))),,,,,*,,, ,      :s  **c ddlm}ddlm}ddlm} |d|||ddd\}}||fS#t $r) dd DcYS#t tf$rYYd SwxYwwxYw#t$rYd SwxYw) Nr)array)ioctl) TIOCGWINSZrzcRg|]$}ttj|dz %S)rK)rr=r>rs rrz'_screen_shape_linux..[s+MMM1BJqM**Q.MMMr)COLUMNSLINESr) rfcntlrtermiosrr0r3r ImportError)rrrrrowsrs rrrMs"&&&&&& "sEE"j($C$CDDRaRHJD$:  " " " "MM8LMMMMMMj) " " "!zzz " " zzs>A1%; A. AA.A*%A.)A**A.1 A?>A?ctdtdtsdStfd}|S)zd Return a function which returns console width. Supported: linux, osx, windows, cygwin. zQUse `_screen_shape_wrapper()(file)[0]` instead of `_environ_cols_wrapper()(file)`r) stacklevelNc&|dSrEr()rshapes rrz$_environ_cols_wrapper..innerksuRyy|r)r DeprecationWarningrr)rrs @r_environ_cols_wrapperr`sr   ,-?AOOOO ! # #E t 5\\\ Lrc8tjdkr tdndS)NntrCz)r=rjcoloramar(rr _term_move_uprrs'T//(822xGrcNtdt|DS)Nc3@K|]}t|dvrdndVdS)FWrrKNr)rchs rrz_text_width..ws9IIB$R((D00qqaIIIIIIr)sumr)rs r _text_widthrvs% II#a&&III I IIrcRttd|S)zp Returns the real on-screen length of a string which may contain ANSI control codes and wide chars. rC)rRE_ANSIsub)rs rdisp_lenr zs w{{2t,, - --rct|t|kr |d|Stt|}t||kr|dd}t||k|rCtt|r|dr|n|dzS|S)zB Trim a string which may contain ANSI control characters. Nz)r<r boolr searchendswith)rlength ansi_presents r disp_trimrs 4yyHTNN""GVG}t,,--L 4..6 ! !CRCy 4..6 ! !FW^^D1122F}}Y//EttTI5EE Krr)5rQr=rer functoolsrrrinspectr unicodedatarwarningsr weakrefr rangechrr_range_unich_unicode _basestringplatformranyrrcompiler rrinit TypeErrorr@rBrSrfrzrrrrrrrrrrrrr rr(rrr%sv 3333333333(((((((-sC(<%+   ? ?+> ? ? ? ? ?  Q Q+P Q Q Q Q Q "*, - -     E"""""   HHHAAAAH                *222222222BBBBB-BBB((B(B(B(B(B-(B(B(BV????? ???4         0   """&$HHHJJJ...     s$> B5 BB21B25B?>B?