/
var
/
opt
/
nydus
/
ops
/
customer_local_ops
/
util
/
__pycache__
/
up file
home
� =�j�0 � � � d dl Z d dlmZmZmZ g d�Z G d� d� Z G d� de� Z G d� d e� Z G d � de� Z G d� d e� Z G d� d� Zy)� N)�List�Optional�Tuple) �B�KiB�MiB�GiB�TiB�PiB�EiB�ZiB�YiBc �� � e Zd ZdZ d2dededededededed d fd�Zd eeeef fd�Z d efd �Z d efd�Zd efd�Zd efd�Z d efd�Zed efd�� Zed efd�� Zed efd�� Zed efd�� Zed efd�� Zed efd�� Zed efd�� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd � Zd!� Z d"� Z!d#� Z"d$� Z#d%� Z$d&� Z%d'� Z&d(� Z'd)� Z(d*� Z)d+� Z*d,� Z+d-� Z,d.� Z-d/� Z.d0� Z/d1� Z0y )3�ByteSizez*Encapsulation for tracking sizes in bytes.�Bytes�KiBytes�MiBytes�GiBytes�TiBytes�PiBytes�EiBytes�returnNc �� � t |� dt |� dt |� dt |� dt |� dt |� dt |� z z z z z z z z z z z z | _ y )N� )�int�_bytes)�selfr r r r r r r s �N/opt/nydus/tmp/pip-target-hb7welcc/lib/python/customer_local_ops/util/sizes.py�__init__zByteSize.__init__ s � � �%�j��C��L���G���C��L���G�� �C��L� $�s�7�|� 3�%5� 6�!7� 8�9� :�;� <�=� >�?��� c � � g }| j }t D ]) }|dz }|r|j d||f� |dz }|dk( s�) n |xs dgS )Ni� r � )r � )r � _sizeUnits�insert)r �sres�csize�size�svals r � _breakdownzByteSize._breakdown sZ � ��������D��4�<�D�����A��d�|�,��b�L�E���z�� � � ��y� r c �l � dj | j � D �cg c] }d|z �� c}� S c c}w )N�,�%d%s��joinr* �r �eachs r �__str__zByteSize.__str__) s0 � ��x�x�4�?�?�3D�E�3D�4��$��3D�E�F�F��E� �1c �� � dj | j j dj | j � D ��cg c] \ }}dj |xs d|� �� c}}� � S c c}}w )Nz{}({})r, z {}ytes={}r )�format� __class__�__name__r/ r* )r �V�Us r �__repr__zByteSize.__repr__, s\ � �����N�N�#�#��H�H�$�/�/�BS�T�BS�$�!�Q�k�(�(���c�1�5�BS�T�U� � ��Ts � A+c �z � | j � }dt |� dk( r|d d n |d d dz |d d fz S )z-Return the size in simple form (int ceiling).r- � r )r* �len)r �bds r � simpleSizeStrzByteSize.simpleSizeStr2 sF � � �_�_� ���S��W��\��A��q��r�!�u�Q�x�!�|�R��U�1�X�N�N�Nr c � � | j � }t |� dk( sXt j |d d � t j |d d � dz k7 r&t j |d d � dk7 rd|d z S |d d dz |d d z dz }d|z }|j d� r|dd |d d z S ||d d z S ) zAReturn the size in floating point form to two significant digits.r<