From 998a1e98f5138c3e2069579ed1f0c7162820498e Mon Sep 17 00:00:00 2001 From: 2Shirt <2xShirt@gmail.com> Date: Mon, 19 Jun 2023 20:41:53 -0700 Subject: [PATCH] List Bitlocker volumes in HW diags posts --- scripts/wk/hw/volumes.py | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/scripts/wk/hw/volumes.py b/scripts/wk/hw/volumes.py index 0f288788..3c085665 100644 --- a/scripts/wk/hw/volumes.py +++ b/scripts/wk/hw/volumes.py @@ -34,23 +34,32 @@ def add_dev_line(test_obj, details) -> None: if not filesystem: # Skip devices without a filesystem return - if not details['mountpoint']: - # Under Linux the volume needs to be mounted to get used space - return # Get sizes + used = -1 percent_used = -1 size = details['size'] if PLATFORM == 'Darwin': - size = details['TotalSize'] - free = details['FreeSpace'] + size = int(details.get('TotalSize', -1)) + free = int(details.get('FreeSpace', 0)) used = size - free elif PLATFORM == 'Linux': - free = int(details['fsavail']) if details['fsavail'] else -1 - used = int(details['fsused']) if details['fsused'] else -1 + free = details.get('fsavail', 0) + used = details.get('fsused', -1) + if free is None: + free = 0 + if used is None: + used = -1 percent_used = (used / size) * 100 + # Report Bitlocker + if filesystem == 'BitLocker': + test_obj.report.append(f'{report_line} {bytes_to_string(size)}') + # Bail early + if not details['mountpoint']: + # Under Linux the volume needs to be mounted to get used space + return if used < 0: # Only include "real" devices return @@ -68,7 +77,7 @@ def add_dev_line(test_obj, details) -> None: color = 'YELLOW' size_line = f'{bytes_to_string(size)}' size_line += f' ({bytes_to_string(used)} used, {percent_used:0.0f}% full)' - size_line = color_string(size_line, color) + size_line = color_string(size_line, str(color)) # Done test_obj.report.append(f'{report_line} {size_line}')