From 0c8701e3e40662e37775d94224beab7f8a975261 Mon Sep 17 00:00:00 2001 From: 2Shirt <2xShirt@gmail.com> Date: Tue, 28 Jan 2020 18:10:10 -0700 Subject: [PATCH] Support get_disks_macOS() on older macOS versions --- scripts/wk/hw/obj.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/scripts/wk/hw/obj.py b/scripts/wk/hw/obj.py index df07d618..eca9a4db 100644 --- a/scripts/wk/hw/obj.py +++ b/scripts/wk/hw/obj.py @@ -727,7 +727,13 @@ def get_disks_macos(): disks = [] # Get info from diskutil - proc = run_program(cmd, encoding=None, errors=None) + proc = run_program(cmd, encoding=None, errors=None, check=False) + if proc.returncode != 0: + # Assuming we're running on an older macOS version + cmd.pop(-1) + proc = run_program(cmd, encoding=None, errors=None, check=False) + + # Parse plist data try: plist_data = plistlib.loads(proc.stdout) except (TypeError, ValueError): @@ -739,6 +745,11 @@ def get_disks_macos(): for disk in plist_data['WholeDisks']: disks.append(Disk(f'/dev/{disk}')) + # Remove virtual disks + disks = [ + d for d in disks if d.details.get('VirtualOrPhysical') == 'Physical' + ] + # Done return disks