B e]j' @sddlmZddlZddlmZddlZddlZeZedkZ e oTe dddDZ e dZ yeZWnek reZYnXyeZWnek reZYnXyeZWnek reZYnXye rddlZneWnek rdZYn2Xyejd d Wnek r$eYnXydd lmZWnek rPeZYnXyeZ Wnek rteZ YnXydd l!m"Z#Wn\ek rydd l$m"Z#Wn4ek rdd l!m%Z%Gddde&e%Z#YnXYnXGddde'Z(Gddde'Z)Gddde'Z*Gddde*Z+Gddde*Z,ddZ-ddZ.ddZ/d d!Z0d"d#Z1d$d%Z2d&d'Z3d(d)Z4ydd*l5m6Z6Wnek re7Z8Yn Xd+d,Z8dS)-)wrapsN)system)Windowscliccs|]}t|VqdS)N)CUR_OS startswith).0ir ,/tmp/pip-install-b8evvk6i/tqdm/tqdm/utils.py sr )ZCYGWINZMSYSLinuxDarwinSunOSZFreeBSDZNetBSDZOpenBSDz\x1b\[[;\d]*[A-Za-z]F)strip)WeakSet) OrderedDict)MutableMappingc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ e j Z e j Z e jZe jZe jZe jZddZddZedddZdS) _OrderedDictcOs:t|dkrtdt|t|ds*g|_|j||dS)Nzexpected at 1 argument, got %d_keys)len TypeErrorhasattrrupdate)selfargskwdsr r r __init__Bs    z_OrderedDict.__init__cCs|jdd=t|dS)N)rdictclear)rr r r r Js z_OrderedDict.clearcCs&||kr|j|t|||dS)N)rappendr __setitem__)rkeyvaluer r r r"Ns z_OrderedDict.__setitem__cCst|||j|dS)N)r __delitem__rremove)rr#r r r r%Ss z_OrderedDict.__delitem__cCs t|jS)N)iterr)rr r r __iter__Wsz_OrderedDict.__iter__cCs t|jS)N)reversedr)rr r r __reversed__Zsz_OrderedDict.__reversed__cCs&|st|j}t||}||fS)N)KeyErrorrpopr)rr#r$r r r popitem]s   z_OrderedDict.popitemcs8fddD}t}|ddj|f|fS)Ncsg|]}||gqSr r )rk)rr r esz+_OrderedDict.__reduce__..r)varscopyr, __class__)ritems inst_dictr )rr __reduce__ds  z_OrderedDict.__reduce__cCs&dtdj|}d|jj|fS)Nz, z%r: %rz%s({%s}))joinmap__mod__r3r2__name__)rpairsr r r __repr__rsz_OrderedDict.__repr__cCs ||S)N)r2)rr r r r1vsz_OrderedDict.copyNcCs |}x|D] }|||<q W|S)Nr )clsiterabler$dr#r r r fromkeysys  z_OrderedDict.fromkeys)N)r9 __module__ __qualname__rr r"r%r(r*r-r5r setdefaultrr,keysvaluesr3r;r1 classmethodr?r r r r r@s$rc@s"eZdZdZdddZddZdS) FormatReplacezV >>> a = FormatReplace('something') >>> "{:5d}".format(a) 'something' cCs||_d|_dS)Nr)replace format_called)rrHr r r rszFormatReplace.__init__cCs|jd7_|jS)Nr)rIrH)r_r r r __format__szFormatReplace.__format__N)rG)r9r@rA__doc__rrKr r r r rFs rFc@s@eZdZdZddZddZddZdd Zd d Zd d Z dS) Comparablez1Assumes child has self._comparable attr/@propertycCs |j|jkS)N) _comparable)rotherr r r __lt__szComparable.__lt__cCs||kp||kS)Nr )rrOr r r __le__szComparable.__le__cCs |j|jkS)N)rN)rrOr r r __eq__szComparable.__eq__cCs ||k S)Nr )rrOr r r __ne__szComparable.__ne__cCs ||k S)Nr )rrOr r r __gt__szComparable.__gt__cCs ||k S)Nr )rrOr r r __ge__szComparable.__ge__N) r9r@rArLrPrQrRrSrTrUr r r r rMsrMc@s4eZdZddZddZddZddZd d Zd S) ObjectWrappercCs t|j|S)N)getattr_wrapped)rnamer r r __getattr__szObjectWrapper.__getattr__cCst|j||S)N)setattrrX)rrYr$r r r __setattr__szObjectWrapper.__setattr__cCs,y t||Stk r&t||SXdS)z7Actual `self.getattr` rather than self._wrapped.getattrN)objectrZAttributeErrorrW)rrYr r r wrapper_getattrs zObjectWrapper.wrapper_getattrcCst|||S)z7Actual `self.setattr` rather than self._wrapped.setattr)r]r\)rrYr$r r r wrapper_setattrszObjectWrapper.wrapper_setattrcCs|d|dS)z4 Thin wrapper around a given object rXN)r`)rwrappedr r r rszObjectWrapper.__init__N)r9r@rArZr\r_r`rr r r r rVs rVcs(eZdZdZfddZddZZS)SimpleTextIOWrapperz Change only `.write()` of the wrapped object by encoding the passed value and passing the result to the wrapped object's `.write()` method. cs tt|||d|dS)Nencoding)superrbrr`)rrarc)r2r r rszSimpleTextIOWrapper.__init__cCs|j||dS)zP Encode `s` and pass to the wrapped object's `.write()` method. rc)rXwriteencoder_)rsr r r reszSimpleTextIOWrapper.write)r9r@rArLrre __classcell__r r )r2r rbs rbcseZdZdfdd ZZS)CallbackIOWrapperreadcs~tt||t|||dkrFtfdd}|d|n4|dkrrtfdd}|d|ntddS) z{ Wrap a given `file`-like object's `read()` or `write()` to report lengths to the given `callback` recs |f||}t||S)N)r)datarkwargsres)callbackfuncr r res z)CallbackIOWrapper.__init__..writerjcs||}t||S)N)r)rrlrk)rnror r rjs  z(CallbackIOWrapper.__init__..readz Can only wrap read/write methodsN)rdrirrWrr`r+)rrnstreammethodrerj)r2)rnror rs zCallbackIOWrapper.__init__)rj)r9r@rArrhr r )r2r risric Cs`yd|WnHtk r"dStk rVy|dpFd|kSdSYnXdSdS)Nu█▉Fzutf-ZU8T)rfUnicodeEncodeError Exceptionlowerr)rcr r r _is_utfs rucCs$y t|jStk rdSXdS)NF)rurcr^)fpr r r _supports_unicodes rwcCs4t|tr,x|D]}t|dkrdSqWdSt|S)NFT) isinstancestrordrw)rgcr r r _is_asciis    r}cCs$d}trt}|dkrt}tr t}|S)zb Return a function which gets width and height of console (linux,osx,windows,cygwin). N)IS_WIN_environ_cols_windows_environ_cols_tputIS_NIX_environ_cols_linux)Z _environ_colsr r r _environ_cols_wrappersrc Csyddlm}m}ddl}ddlm}m}d}||kr.)sum_unicode)rgr r r _text_widthWsr)9 functoolsrrplatformrZ_curosrerrr~anyrcompileZRE_ANSIxrangeZ_range NameErrorrangeunichrZ_unichchrunicoderrzrrinitrweakrefrset basestringZ _basestring collectionsrrZ ordereddictrrr]rFrMrVrbrirurwr}rrrrr unicodedatarrrr r r r s            A