diff options
author | 2022-12-17 19:07:21 +0800 | |
---|---|---|
committer | 2022-12-17 19:07:21 +0800 | |
commit | a577e4810df719d67bfd2eae48c49854a700edd6 (patch) | |
tree | 7c820ead0afe953b956a6c57780be556d4d903c1 | |
parent | Add FILE_COUNT_LIMIT and error messages (diff) |
sizeof_fmt uses 0 d.p. for integrals
-rw-r--r-- | bot/exts/utils/snekbox/_io.py | 9 |
1 files 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 |