From 5de6b107d27956e3cdcd773347312e74a2989828 Mon Sep 17 00:00:00 2001 From: localhorst Date: Wed, 7 Dec 2022 18:00:12 +0100 Subject: [PATCH] use Base 1000 instead 1024 for capacity prefix --- layouter.py | 11 +++++++++-- output.png | Bin 5771 -> 5514 bytes 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/layouter.py b/layouter.py index a502ca6..7759067 100644 --- a/layouter.py +++ b/layouter.py @@ -62,13 +62,20 @@ def get_font_path_bold(): files = glob.glob(path + "/**/DejaVuSans-Bold.ttf", recursive = True) return files[0] -def human_readable_capacity(size, decimal_places=0): +def human_readable_capacity_1024(size, decimal_places=0): for unit in ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB']: if size < 1024.0 or unit == 'PiB': break size /= 1024.0 return f"{size:.{decimal_places}f} {unit}" +def human_readable_capacity_1000(size, decimal_places=0): + for unit in ['B', 'KB', 'MB', 'GB', 'TB', 'PB']: + if size < 1000.0 or unit == 'PB': + break + size /= 1000.0 + return f"{size:.{decimal_places}f} {unit}" + def human_readable_power_on_hours(hours, decimal_places=2): return str(hours) + "h or " + str(int(hours/24)) + "d or " + str("{:.2f}".format(float(hours/24/365))) + "y" @@ -82,7 +89,7 @@ def format_to_printable(drive): return DriveDataPrintable( cut_string(20, re.sub(r"[^a-zA-Z0-9. ]", "", drive.modelfamiliy)),\ cut_string(20, re.sub(r"[^a-zA-Z0-9. ]", "", drive.modelname)),\ - cut_string(20, human_readable_capacity(drive.capacity)),\ + cut_string(20, human_readable_capacity_1000(drive.capacity)),\ cut_string(16, re.sub(r"[^a-zA-Z0-9.-_]", "", drive.serialnumber)),\ cut_string(30, human_readable_power_on_hours(drive.power_on_hours)),\ cut_string(10, str(drive.power_cycle)),\ diff --git a/output.png b/output.png index 6efa03a5a35a557ba12f0c027bd780d4570c070a..96c9e1ac38160354bde6a56dfe4ae39363e06c2b 100644 GIT binary patch literal 5514 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