????

Your IP : 3.16.10.2


Current Path : /lib/python3.9/site-packages/sepolgen/__pycache__/
Upload File :
Current File : //lib/python3.9/site-packages/sepolgen/__pycache__/util.cpython-39.pyc

a


z
fj�@s�ddlZddlZejddkZer,eZeZneZeZGdd�d�Z	dd�Z
ddd	�Zd
d�Zdd
�Z
Gdd�d�Zejdkr�dd�ZnddlmZdd�Zedkr�ddlZe	ejdd�Ze�d�ed�D]Ze��e�d�q�dS)�N�c@s*eZdZddd�Zddd�Zd
d	d
�ZdS)�ConsoleProgressBar�d�#cCs(d|_d|_||_||_||_d|_dS)NrF)�blocks�current�steps�	indicator�out�done)�selfr
rr	�r
�1/usr/lib/python3.9/site-packages/sepolgen/util.py�__init__"szConsoleProgressBar.__init__NcCs*d|_|r|j�d|�|j�d�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|}|j�|j|�|j�	�|jdkr�|j
s�d|_
|j�d�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}|�|�|S�N)�extend)�s�lr
r
r�set_to_listBs
r&FcCs@t|�std��|r,t|�}|��|dS|D]
}|SdS)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 containerrN)�len�
IndexErrorr&�sort)r$�sortedr%�xr
r
r�firstGs
r,cCs8t��}z|�|�}Wnty2|�d�}Yn0|S)z/Encode given text via preferred system encoding�utf-8)�locale�getpreferredencoding�encode�UnicodeError)�text�encodingZencoded_textr
r
r�encode_input\sr4cCs8t��}z|�|�}Wnty2|�d�}Yn0|S)z/Decode given text via preferred system encodingr-)r.r/�decoder1)r2r3Zdecoded_textr
r
r�decode_inputisr6c@sHeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dS)�
Comparisonz�Class used when implementing rich comparison.

    Inherit from this class if you want to have a rich
    comparison within the class, afterwards implement
    _compare function within your class.cCstSr")�NotImplemented)r�other�methodr
r
r�_compare}szComparison._comparecCs|�|dd��S)NcSs||kSr"r
��a�br
r
r�<lambda>��z#Comparison.__eq__.<locals>.<lambda>�r;�rr9r
r
r�__eq__�szComparison.__eq__cCs|�|dd��S)NcSs||kSr"r
r<r
r
rr?�r@z#Comparison.__lt__.<locals>.<lambda>rArBr
r
r�__lt__�szComparison.__lt__cCs|�|dd��S)NcSs||kSr"r
r<r
r
rr?�r@z#Comparison.__le__.<locals>.<lambda>rArBr
r
r�__le__�szComparison.__le__cCs|�|dd��S)NcSs||kSr"r
r<r
r
rr?�r@z#Comparison.__ge__.<locals>.<lambda>rArBr
r
r�__ge__�szComparison.__ge__cCs|�|dd��S)NcSs||kSr"r
r<r
r
rr?�r@z#Comparison.__gt__.<locals>.<lambda>rArBr
r
r�__gt__�szComparison.__gt__cCs|�|dd��S)NcSs||kSr"r
r<r
r
rr?�r@z#Comparison.__ne__.<locals>.<lambda>rArBr
r
r�__ne__�szComparison.__ne__N)rr r!�__doc__r;rCrDrErFrGrHr
r
r
rr7vsr7)r�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
||_dSr"��obj)rrL�argsr
r
rr�szcmp_to_key.<locals>.K.__init__cs�|j|j�dkS�NrrKrB��mycmpr
rrD�szcmp_to_key.<locals>.K.__lt__cs�|j|j�dkSrNrKrBrOr
rrG�szcmp_to_key.<locals>.K.__gt__cs�|j|j�dkSrNrKrBrOr
rrC�szcmp_to_key.<locals>.K.__eq__cs�|j|j�dkSrNrKrBrOr
rrE�szcmp_to_key.<locals>.K.__le__cs�|j|j�dkSrNrKrBrOr
rrF�szcmp_to_key.<locals>.K.__ge__cs�|j|j�dkSrNrKrBrOr
rrH�szcmp_to_key.<locals>.K.__ne__N)
rr r!rrDrGrCrErFrHr
rOr
r�K�srQr
)rPrQr
rOr�
cmp_to_key�srR)rRcCs||k||kSr"r
)r,�secondr
r
r�cmp�srT�__main__i�)rzcomputing pig����MbP?)F)r.�sys�version_infoZPY3�bytesZ
bytes_type�strZstring_typeZunicoderr&r,r4r6r7rR�	functoolsrTr�time�stdout�pr�range�ir�sleepr
r
r
r�<module>s0!