Viewing File: /opt/imunify360/venv/lib/python3.11/site-packages/humanize/__pycache__/filesize.cpython-311.pyc



]jz2dZddlmZddddZ			dddZdS)z$Bits and bytes related humanization.)annotations)z kBz MBz GBz TBz PBz EBz ZBz YB)z KiBz MiBz GiBz TiBz PiBz EiBz ZiBz YiBKMGTPEZY)decimalbinarygnuF%.1fvaluefloat | strrboolrformatstrreturnc`|rtd}n|rtd}n
td}|s|rdnd}t|}t|}|dkr|sd|zS||kr|sd|zS||kr|rd	|zSt|D]\}}	||d
zz}
||
krn|||z|
zz|	z}|S)aPFormat a number of bytes like a human readable filesize (e.g. 10 kB).

    By default, decimal suffixes (kB, MB) are used.

    Non-GNU modes are compatible with jinja2's `filesizeformat` filter.

    Examples:
        ```pycon
        >>> naturalsize(3000000)
        '3.0 MB'
        >>> naturalsize(300, False, True)
        '300B'
        >>> naturalsize(3000, False, True)
        '2.9K'
        >>> naturalsize(3000, False, True, "%.3f")
        '2.930K'
        >>> naturalsize(3000, True)
        '2.9 KiB'
        >>> naturalsize(10**28)
        '10000.0 YB'
        >>> naturalsize(-4096, True)
        '-4.0 KiB'

        ```

    Args:
        value (int, float, str): Integer to convert.
        binary (bool): If `True`, uses binary suffixes (KiB, MiB) with base
            2<sup>10</sup> instead of 10<sup>3</sup>.
        gnu (bool): If `True`, the binary argument is ignored and GNU-style
            (`ls -sh` style) prefixes are used (K, M) with the 2**10 definition.
        format (str): Custom formatter.

    Returns:
        str: Human readable representation of a filesize.
    rrriiz%d Bytez%d Bytesz%dB)suffixesfloatabs	enumerate)r	rrrsuffixbasebytes_	abs_bytesisunitrets            q/builddir/build/BUILD/imunify360-venv-2.6.3/opt/imunify360/venv/lib/python3.11/site-packages/humanize/filesize.pynaturalsizer
sT%%	%(#)$,6,44D
5\\FFIA~~c~6!!4F""4Cv~&!!1AtE-.2CJN)FFr)
r	r
rrrrrr
rr
)__doc__
__future__rrrr r<module>r$sl+*""""""HN	EEEEEEEr 
Back to Directory File Manager