From a577e4810df719d67bfd2eae48c49854a700edd6 Mon Sep 17 00:00:00 2001 From: ionite34 Date: Sat, 17 Dec 2022 19:07:21 +0800 Subject: sizeof_fmt uses 0 d.p. for integrals --- bot/exts/utils/snekbox/_io.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/bot/exts/utils/snekbox/_io.py b/bot/exts/utils/snekbox/_io.py index fcf5451aa..3ec5ff00a 100644 --- a/bot/exts/utils/snekbox/_io.py +++ b/bot/exts/utils/snekbox/_io.py @@ -16,13 +16,16 @@ FILE_SIZE_LIMIT = 8 * 1024 * 1024 FILE_COUNT_LIMIT = 10 -def sizeof_fmt(num: int, suffix: str = "B") -> str: +def sizeof_fmt(num: int | float, suffix: str = "B") -> str: """Return a human-readable file size.""" + num = float(num) for unit in ("", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei", "Zi"): if abs(num) < 1024: - return f"{num:3.1f}{unit}{suffix}" + num_str = f"{int(num)}" if num.is_integer() else f"{num:3.1f}" + return f"{num_str} {unit}{suffix}" num /= 1024 - return f"{num:.1f}Yi{suffix}" + num_str = f"{int(num)}" if num.is_integer() else f"{num:3.1f}" + return f"{num_str} Yi{suffix}" @dataclass -- cgit v1.2.3