From: Michael Tremer Date: Fri, 7 May 2021 14:24:41 +0000 (+0000) Subject: disk: Show disk size in list X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aeeca31eeb0de2caaff9b346b99af72f7ae9aa02;p=people%2Fms%2Fbricklayer.git disk: Show disk size in list Signed-off-by: Michael Tremer --- diff --git a/src/python/disk.py b/src/python/disk.py index 8a64ea8..b759805 100644 --- a/src/python/disk.py +++ b/src/python/disk.py @@ -109,7 +109,7 @@ class Disk(object): return "<%s %s>" % (self.__class__.__name__, self) def __str__(self): - return "%s - %s" % (self.model, self.path) + return "%s (%s)" % (self.model, util.format_size(self.size)) def __hash__(self): return hash(self.path) @@ -147,7 +147,11 @@ class Disk(object): @property def model(self): - return self.device.model + return self.device.model or _("Unknown Model") + + @property + def size(self): + return self.device.length * self.device.sectorSize class SelectDisk(step.InteractiveStep): diff --git a/src/python/util.py b/src/python/util.py index 9f10685..7cb6868 100644 --- a/src/python/util.py +++ b/src/python/util.py @@ -54,3 +54,24 @@ def create_sparse_file(name, size): os.close(fd) return path + +def format_size(s): + units = ( + "%.0f ", + "%.0fk", + "%.1fM", + "%.1fG", + "%.1fT", + "%.1fP", + "%.1fE", + ) + + unit = None + + for unit in units: + if abs(s) < 1024: + break + + s /= 1024 + + return unit % s