From 5bdd83bce005960f7058d91b328e815aa08b8380 Mon Sep 17 00:00:00 2001 From: Maciej Kisielewski Date: Thu, 15 Apr 2021 21:43:33 +0200 Subject: Fix: make storage_test.py work on py < 3.7 See 78d3c267a839e6b97aba1c0f57a57afb2237e961 for details about the logic being modified here. --- bin/storage_test.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/bin/storage_test.py b/bin/storage_test.py index 22110b2..58453e2 100755 --- a/bin/storage_test.py +++ b/bin/storage_test.py @@ -25,13 +25,16 @@ def mountpoint(device): def find_largest_partition(device): - BlkDev = namedtuple( - 'BlkDev', ['name', 'size', 'type', 'fstype'], - defaults=[None, None, None, None]) + BlkDev = namedtuple('BlkDev', ['name', 'size', 'type', 'fstype']) cmd = 'lsblk -b -l -n -o NAME,SIZE,TYPE,FSTYPE {}'.format(device) out = sp.check_output(cmd, shell=True) - blk_devs = [BlkDev(*p.strip().split()) - for p in out.decode(sys.stdout.encoding).splitlines()] + blk_devs = [] + for entry in out.decode(sys.stdout.encoding).splitlines(): + params = entry.strip().split() + if len(params) == 3: + # filesystem info missing, so it's unknown + params.append(None) + blk_devs.append(BlkDev(*params)) blk_devs[:] = [bd for bd in blk_devs if ( bd.type in ('part', 'md') and bd.fstype is not None)] if not blk_devs: -- cgit v1.2.3