
    )i	                         S r S/rSSKJrJrJrJr  SSS.S\S\\   S	\S
\\   S\\   S\4S jjr	S\S\\   S	\S\\\4   4S jr
SSS.S\S
\\   S\\   S\4S jjrg)a  Functions for reporting filesizes. Borrowed from https://github.com/PyFilesystem/pyfilesystem2

The functions declared in this module should cover the different
use cases needed to generate a string representation of a file size
using several different units. Since there are many standards regarding
file size units, three different functions have been implemented.

See Also:
    * `Wikipedia: Binary prefix <https://en.wikipedia.org/wiki/Binary_prefix>`_

decimal    )IterableListOptionalTuple    	precision	separatorsizesuffixesbaser   r   returnc                    U S:X  a  gX:  a  U S S3$ [        US5       H  u  pVX%-  nX:  d  M    O   SR                  X -  W-  WUUS9$ )Nr   z1 byte,z bytes   z{:,.{precision}f}{separator}{}r
   )	enumerateformat)r   r   r   r   r   isuffixunits           M/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/rich/filesize.py_to_strr      sq     qy	q  x+	w; , ,22	t		 3      c                 R    [        U5       H  u  p4X#-  nXU-  :  d  M    XT4$    WW4$ )z*Pick a suffix and base for the given size.)r   )r   r   r   r   r   r   s         r   pick_unit_and_suffixr   +   s;    x(	w+<	 ) <r   c                    [        U SSUUS9$ )a  Convert a filesize in to a string (powers of 1000, SI prefixes).

In this convention, ``1000 B = 1 kB``.

This is typically the format used to advertise the storage
capacity of USB flash drives and the like (*256 MB* meaning
actually a storage capacity of more than *256 000 000 B*),
or used by **Mac OS X** since v10.6 to report file sizes.

Arguments:
    int (size): A file size.
    int (precision): The number of decimal places to include (default = 1).
    str (separator): The string to separate the value from the units (default = " ").

Returns:
    `str`: A string containing a abbreviated file size and units.

Example:
    >>> filesize.decimal(30000)
    '30.0 kB'
    >>> filesize.decimal(30000, precision=2, separator="")
    '30.00kB'

)kBMBGBTBPBEBZBYBi  r
   )r   )r   r   r   s      r   r   r   4   s     < 8 r   N)__doc____all__typingr   r   r   r   intstrr   r   r    r   r   <module>r-      s   
 + 2 2  !"
sm 
 } } 	2s d3i s uSRUX   !"	$
$ }$ }	$
 	$r   