HEX
Server: Apache
System: Linux 185.122.168.184.host.secureserver.net 5.14.0-570.52.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 15 06:39:08 EDT 2025 x86_64
User: barbeatleanalyti (1024)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //var/opt/nydus/ops/primordial/__pycache__/sizes.cpython-39.pyc
a

�,�h
1�@s�ddlZddlmZmZmZgd�ZGdd�d�ZGdd�de�ZGdd	�d	e�ZGd
d�de�Z	Gdd
�d
e�Z
Gdd�d�ZdS)�N)�List�Optional�Tuple)	�B�KiB�MiB�GiB�TiB�PiB�EiBZZiBZYiBc
@s�eZdZdZdTeeeeeeedd�dd�Zeeeefd�dd	�Z	ed�d
d�Z
ed�dd
�Zed�dd�Zed�dd�Z
ed�dd�Zeed�dd��Zeed�dd��Zeed�dd��Zeed�dd��Zeed�dd��Zeed�dd��Zeed�d d!��Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Z d4d5�Z!d6d7�Z"d8d9�Z#d:d;�Z$d<d=�Z%d>d?�Z&d@dA�Z'dBdC�Z(dDdE�Z)dFdG�Z*dHdI�Z+dJdK�Z,dLdM�Z-dNdO�Z.dPdQ�Z/dRdS�Z0dS)U�ByteSizez*Encapsulation for tracking sizes in bytes.rN)�Bytes�KiBytes�MiBytes�GiBytes�TiBytes�PiBytes�EiBytes�returncCsVt|�dt|�dt|�dt|�dt|�dt|�dt|�|_dS)N�)�int�_bytes)�selfr
rrrrrr�r�A/opt/nydus/tmp/pip-target-wkfpz8uv/lib/python/primordial/sizes.py�__init__
s
������zByteSize.__init__�rcCsNg}|j}tD]4}|d@}|r.|�d||f�|dL}|dkrqDq|pLdgS)Ni�r�
)r�)r�
_sizeUnits�insert)r�sresZcsize�sizeZsvalrrr�
_breakdownszByteSize._breakdowncCsd�dd�|��D��S)N�,cSsg|]}d|�qS��%d%sr��.0Zeachrrr�
<listcomp>*�z$ByteSize.__str__.<locals>.<listcomp>��joinr#�rrrr�__str__)szByteSize.__str__cCs$d�|jjd�dd�|��D���S)Nz{}({})r$cSs g|]\}}d�|pd|��qS)z	{}ytes={}r)�format)r(�V�Urrrr)/r*z%ByteSize.__repr__.<locals>.<listcomp>)r/�	__class__�__name__r,r#r-rrr�__repr__,s�zByteSize.__repr__cCs@|��}dt|�dkr"|ddn|ddd|ddfS)z-Return the size in simple form (int ceiling).r&�r)r#�len)r�bdrrr�
simpleSizeStr2szByteSize.simpleSizeStrcCs�|��}t|�dksRt�|dd�t�|dd�dkr^t�|dd�dkr^d|dS|ddd|ddd}d|}|�d�r�|dd	�|ddS||ddS)
zAReturn the size in floating point form to two significant digits.r5rrr&��@z%.2fz.00N���)r#r6r�index�endswith)rr7ZfvZrsprrr�
approxSizeStr7s�� 
zByteSize.approxSizeStrcCsd�dd�|��D��S)z%Return the size in full detail units.r$cSsg|]}d|�qSr%rr'rrrr)Er*z(ByteSize.fullSizeStr.<locals>.<listcomp>r+r-rrr�fullSizeStrCszByteSize.fullSizeStrcCs|jS�N�rr-rrrr
GszByteSize.BytescCs
|jdS�Nr9�r
r-rrrrKszByteSize.KiBytescCs
|jdSrA)rr-rrrrOszByteSize.MiBytescCs
|jdSrA)rr-rrrrSszByteSize.GiBytescCs
|jdSrA)rr-rrrrWszByteSize.TiBytescCs
|jdSrA)rr-rrrr[szByteSize.PiBytescCs
|jdSrA)rr-rrrr_szByteSize.EiBytescCs|jSr?r@r-rrr�	__trunc__cszByteSize.__trunc__cCs|jSr?r@r-rrr�	__index__fszByteSize.__index__cCsB|dur|jdkSz|j|jkWSty<|j|kYS0dS�Nr�r�AttributeError�r�orrr�__eq__js
zByteSize.__eq__cCsB|dur|jdkSz|j|jkWSty<|j|kYS0dSrErFrHrrr�__ne__rs
zByteSize.__ne__cCsB|dur|jdkSz|j|jkWSty<|j|kYS0dSrErFrHrrr�__gt__zs
zByteSize.__gt__cCsB|dur|jdkSz|j|jkWSty<|j|kYS0dSrErFrHrrr�__ge__�s
zByteSize.__ge__cCs<|durdSz|j|jkWSty6|j|kYS0dS)NFrFrHrrr�__lt__�szByteSize.__lt__cCsB|dur|jdkSz|j|jkWSty<|j|kYS0dSrErFrHrrr�__le__�s
zByteSize.__le__cCs,t|d�r|�|j|j�S|�|j|�S�Nr)�hasattrr2rrHrrr�__add__�s
zByteSize.__add__cCs.t|d�r|j|j7_n|j|7_|SrP)rQrrHrrr�__iadd__�s
zByteSize.__iadd__cCs<t|d�r$|jtd|j|j�d�S|jtd|j|�d�S)NrrrB)rQr2�maxrrHrrr�__sub__�s
zByteSize.__sub__cCs4t|d�r"|jt|jd�8_n|j|8_|S)Nrr)rQrrTrHrrr�__isub__�s
zByteSize.__isub__cCs|j|j|d�S�NrB�r2rrHrrr�__mul__�szByteSize.__mul__cCs|j|j|d�SrWrXrHrrr�__rmul__�szByteSize.__rmul__cCs|j|9_|Sr?r@rHrrr�__imul__�szByteSize.__imul__cCs*t|t�r|j|jS|�t|j|��Sr?��
isinstancerrr2rrHrrr�__floordiv__�s
zByteSize.__floordiv__cCs |�|jt|t�r|jn|�Sr?)r2rr]rrHrrr�__mod__�szByteSize.__mod__cCs||||fSr?rrHrrr�
__divmod__�szByteSize.__divmod__cCs.t|t�r|jd|jS|�t|j|��S)Ng�?r\rHrrr�__truediv__�s
zByteSize.__truediv__cCs|j|_t|j�|_|Sr?�rrrHrrr�__idiv__�szByteSize.__idiv__cCs
|�|�Sr?)rcrHrrr�__itruediv__�szByteSize.__itruediv__cCs|j|_t|j�|_|Sr?rbrHrrr�
__ifloordiv__�szByteSize.__ifloordiv__cCs|j|;_t|j�|_|Sr?rbrHrrr�__imod__�szByteSize.__imod__cCs
t|j�Sr?��boolrr-rrr�__nonzero__�szByteSize.__nonzero__cCs
t|j�Sr?rgr-rrr�__bool__�szByteSize.__bool__)rrrrrrr)1r3�
__module__�__qualname__�__doc__rrrr�strr#r.r4r8r=r>�propertyr
�floatrrrrrrrCrDrJrKrLrMrNrOrRrSrUrVrYrZr[r^r_r`rarcrdrerfrirjrrrrrs|��
rc@seZdZdZdS)�MemSizez+Encapsulation for tracking amount of memoryN�r3rkrlrmrrrrrq�srqc@seZdZdZdS)�DiskSizez<Encapsulation for tracking size of persistent storage (disk)Nrrrrrrrs�srsc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�InvalidMemSizecCs
||_dSr?��_invVal�rZ
invalid_valuerrrr�szInvalidMemSize.__init__cCsdt|j�S)NzInvalidMemSize "%s"�rnrvr-rrrr.�szInvalidMemSize.__str__cCsdt|j�S)NzInvalidMemSize(%s)��reprrvr-rrrr4�szInvalidMemSize.__repr__cCs
t|t�Sr?�r]rtrHrrrrJszInvalidMemSize.__eq__cCst|t�Sr?r{rHrrrrKszInvalidMemSize.__ne__N�r3rkrlrr.r4rJrKrrrrrt�s
rtc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�InvalidDiskSizecCs
||_dSr?rurwrrrr
szInvalidDiskSize.__init__cCsdt|j�S)NzInvalidDiskSize "%s"rxr-rrrr.
szInvalidDiskSize.__str__cCsdt|j�S)NzInvalidDiskSize(%s)ryr-rrrr4szInvalidDiskSize.__repr__cCs
t|t�Sr?�r]r}rHrrrrJszInvalidDiskSize.__eq__cCst|t�Sr?r~rHrrrrKszInvalidDiskSize.__ne__Nr|rrrrr}s
r}c@s�eZdZdZdedd�dd�Zdd�Zed	�d
d�Zee	d	�dd
��Z
ee	d	�dd��Zee	d	�dd��Zed	�dd�Z
ed	�dd�Zd ee	ed�dd�Zd!ee	eed�dd�Zd"ee	eed�dd�ZdS)#�	ByteSizesz�Encapsulation for an aggregation of byte size values.

    The naturalUnits indicates which units to report sizes in if the size is
    not indicated or is a close approximation of those units (naturalUnits
    should be one of _sizeUnits)
    rN)�naturalUnitsrcCs0td�|_d|_td�|_d|_||_d|_dSrE)r�_accum�_minSize�_maxSize�	_numSizes�_natUnit�	_sumUnits)rr�rrrr"s

zByteSizes.__init__cCsdt|t�st|d�}|j|7_|jd7_|jdusD||jkrJ||_||jkrZ||_d|_|S)NrBr5)r]rr�r�r�r�r�rHrrrrS*s


zByteSizes.__iadd__rcCs
t|j�Sr?)rnr�r-rrrr.6szByteSizes.__str__cCs|jdurtd�S|jSrE)r�rr-rrr�minimumSize9szByteSizes.minimumSizecCs|jSr?)r�r-rrr�maximumSize=szByteSizes.maximumSizecCs|jdkrtd�S|j|jSrE)r�rr�r-rrr�averageSizeAszByteSizes.averageSizecCs|tt�d}ttt�ddd�D]T}td|d�}||jkr>q |dt�|j�krj|j|dkrj|jSt|S|jS)Nr5���rrB�d)r6r�rangerr�r;r�)rZsuIZbaseSizerrr�_calcSummaryUnitsEs
"
zByteSizes._calcSummaryUnitscCs|jdur|��|_|jSr?)r�r�r-rrr�summaryUnitsPs

zByteSizes.summaryUnits)�ofSizercCs|dur|j��S|��S)zrReturn the specified size (or total size) in full detail units.

        :param: The size to be displayed
        N)r�r>)rr�rrrr>Us
zByteSizes.fullSizeStrF)r��	withUnitsrcCsf|dur|j��St�|j|j|j|j|j|j|j	|j
d�|���}|rZd||��fStt
|��S)agReturns the specified size (or total size) in simple form (int ceiling) based on the summary Units.

        The withUnits can be used to enable or suppress reporting of units in the output (units are summaryUnits() in
        either case).

        :param ofSize: The size to simplify
        :param withUnits: Whether to include units in the output
        N�rrrrrr	r
rr&)r�r8�math�ceilr
rrrrrrr�rnr�rr�r��valrrrr8^s 	
��zByteSizes.simpleSizeStrc
Csd|dur|j��St|j|j|j|j|j|j|j|j	d�|�
�d�d}d||r\|�
�ndfS)a�Give a string representation of a close approximation of the size.

        Returns the specified size (or total size) in floating point form to two significant digits, based on the on
        the summary Units.  The withUnits can be used to enable or suppress reporting of units in the output (units are
        summaryUnits() in either case).

        :param ofSize: The size to be represented
        :param withUnits: Whether to include units in the output
        Nr�r9z%.2f%sr)r�r=rr
rrrrrrr�r�rrrr=us$

����zByteSizes.approxSizeStr)r)N)NF)NF)r3rkrlrmrnrrSr.rorr�r�r�r�r�rr>rhr8r=rrrrrs	r)r��typingrrrrrrqrsrtr}rrrrr�<module>sc