Sindbad~EG File Manager
3
Kl�fp�@s�ddlZddlZejddkZer,eZeZneZeZGdd�d�Z dd�Z
ddd �Zd
d�Zdd
�Z
Gdd�d�Zejdkr�dd�ZnddlmZdd�Zedkr�ddlZe ejdd�Zejd�x"ed�D]Zej�ejd�q�WdS)�N�c@s*eZdZddd�Zddd�Zd
d d
�ZdS)�ConsoleProgressBar�d�#cCs(d|_d|_||_||_||_d|_dS)NrF)�blocks�current�steps� indicator�out�done)�selfr
rr �r
�/usr/lib/python3.6/util.py�__init__"szConsoleProgressBar.__init__NcCs*d|_|r|jjd|�|jjd�dS)NFz
%s:
z3%--10---20---30---40---50---60---70---80---90--100
)rr
�write)r�messager
r
r�start*szConsoleProgressBar.start�cCs�|j|7_|j}tt|jt|j�d�d�|_|jdkrFd|_|j|}|jj|j|�|jj �|jdkr�|j
r�d|_
|jjd�dS)Nr��2T�
)rr�int�round�floatrr
rr �flushr)r�n�old�newr
r
r�step0s"
zConsoleProgressBar.step)rr)N)r)�__name__�
__module__�__qualname__rrrr
r
r
rr!s
rcCsg}|j|�|S)N)�extend)�s�lr
r
r�set_to_listBs
r%FcCs@t|�std��|r,t|�}|j�|dSx|D]}|SWdS)a�
Return the first element of a set.
It sometimes useful to return the first element from a set but,
because sets are not indexable, this is rather hard. This function
will return the first element from a set. If sorted is True, then
the set will first be sorted (making this an expensive operation).
Otherwise a random element will be returned (as sets are not ordered).
zempty containterrN)�len�
IndexErrorr%�sort)r#�sortedr$�xr
r
r�firstGs
r+cCs:tj�}y|j|�}Wntk
r4|jd�}YnX|S)z/Encode given text via preferred system encodingzutf-8)�locale�getpreferredencoding�encode�UnicodeError)�text�encodingZencoded_textr
r
r�encode_input\sr2cCs:tj�}y|j|�}Wntk
r4|jd�}YnX|S)z/Decode given text via preferred system encodingzutf-8)r,r-�decoder/)r0r1Zdecoded_textr
r
r�decode_inputisr4c@sHeZdZdZdd�Zdd�Zdd�Zdd �Zd
d�Zdd
�Z dd�Z
dS)�
Comparisonz�Class used when implementing rich comparison.
Inherit from this class if you want to have a rich
comparison withing the class, afterwards implement
_compare function within your class.cCstS)N)�NotImplemented)r�other�methodr
r
r�_compare}szComparison._comparecCs|j|dd��S)NcSs||kS)Nr
)�a�br
r
r�<lambda>�sz#Comparison.__eq__.<locals>.<lambda>)r9)rr7r
r
r�__eq__�szComparison.__eq__cCs|j|dd��S)NcSs||kS)Nr
)r:r;r
r
rr<�sz#Comparison.__lt__.<locals>.<lambda>)r9)rr7r
r
r�__lt__�szComparison.__lt__cCs|j|dd��S)NcSs||kS)Nr
)r:r;r
r
rr<�sz#Comparison.__le__.<locals>.<lambda>)r9)rr7r
r
r�__le__�szComparison.__le__cCs|j|dd��S)NcSs||kS)Nr
)r:r;r
r
rr<�sz#Comparison.__ge__.<locals>.<lambda>)r9)rr7r
r
r�__ge__�szComparison.__ge__cCs|j|dd��S)NcSs||kS)Nr
)r:r;r
r
rr<�sz#Comparison.__gt__.<locals>.<lambda>)r9)rr7r
r
r�__gt__�szComparison.__gt__cCs|j|dd��S)NcSs||kS)Nr
)r:r;r
r
rr<�sz#Comparison.__ne__.<locals>.<lambda>)r9)rr7r
r
r�__ne__�szComparison.__ne__N)rr r!�__doc__r9r=r>r?r@rArBr
r
r
rr5vsr5r�csG�fdd�d�}|S)z,Convert a cmp= function into a key= functioncs\eZdZdd�Z�fdd�Z�fdd�Z�fdd�Z�fd d
�Z�fdd�Z�fd
d�Z dS)zcmp_to_key.<locals>.KcWs
||_dS)N)�obj)rrE�argsr
r
rr�szcmp_to_key.<locals>.K.__init__cs�|j|j�dkS)Nr)rE)rr7)�mycmpr
rr>�szcmp_to_key.<locals>.K.__lt__cs�|j|j�dkS)Nr)rE)rr7)rGr
rrA�szcmp_to_key.<locals>.K.__gt__cs�|j|j�dkS)Nr)rE)rr7)rGr
rr=�szcmp_to_key.<locals>.K.__eq__cs�|j|j�dkS)Nr)rE)rr7)rGr
rr?�szcmp_to_key.<locals>.K.__le__cs�|j|j�dkS)Nr)rE)rr7)rGr
rr@�szcmp_to_key.<locals>.K.__ge__cs�|j|j�dkS)Nr)rE)rr7)rGr
rrB�szcmp_to_key.<locals>.K.__ne__N)
rr r!rr>rAr=r?r@rBr
)rGr
r�K�srHr
)rGrHr
)rGr�
cmp_to_key�srI)rIcCs||k||kS)Nr
)r+�secondr
r
r�cmp�srK�__main__i�)rzcomputing pig����MbP?)F)rrD)r,�sys�version_infoZPY3�bytesZ
bytes_type�strZstring_typeZunicoderr%r+r2r4r5rI� functoolsrKrZtime�stdout�pr�range�irZsleepr
r
r
r�<module>s0!
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists