File: //var/opt/nydus/ops/primordial/__pycache__/sizes.cpython-39.pyc
a
�,�h
1 � @ s� d dl Z d dlmZmZmZ g d�ZG dd� d�ZG dd� de�ZG dd � d e�ZG d
d� de�Z G dd
� d
e�Z
G dd� d�ZdS )� N)�List�Optional�Tuple) �B�KiB�MiB�GiB�TiB�PiB�EiBZZiBZYiBc
@ s� e Zd ZdZdTeeeeeeedd�dd�Zeeeef d�dd �Z ed�d
d�Z
ed�dd
�Zed�dd�Zed�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.r N)�Bytes�KiBytes�MiBytes�GiBytes�TiBytes�PiBytes�EiBytes�returnc C sV t |�dt |�dt |�dt |�dt |�dt |�dt |� | _d S )N� )�int�_bytes)�selfr
r r r r r r � r �A/opt/nydus/tmp/pip-target-wkfpz8uv/lib/python/primordial/sizes.py�__init__
s
������zByteSize.__init__�r c C sN g }| j }tD ]4}|d@ }|r.|�d||f� |dL }|dkr qDq|pLdgS )Ni� r �
)r � )r �
_sizeUnits�insert)r �sresZcsize�sizeZsvalr r r �
_breakdown s zByteSize._breakdownc C s d� dd� | �� D ��S )N�,c S s g | ]}d | �qS ��%d%sr ��.0Zeachr r r �
<listcomp>* � z$ByteSize.__str__.<locals>.<listcomp>��joinr# �r r r r �__str__) s zByteSize.__str__c C s$ d� | jjd�dd� | �� D ���S )Nz{}({})r$ c S s g | ]\}}d � |pd|��qS )z {}ytes={}r )�format)r( �V�Ur r r r) / r* z%ByteSize.__repr__.<locals>.<listcomp>)r/ � __class__�__name__r, r# r- r r r �__repr__, s �zByteSize.__repr__c C s@ | � � }dt|�dkr"|d d n|d d d |d d f S )z-Return the size in simple form (int ceiling).r&