Support get_disks_macOS() on older macOS versions

This commit is contained in:
2Shirt 2020-01-28 18:10:10 -07:00
parent cc8c0992f6
commit 0c8701e3e4
Signed by: 2Shirt
GPG key ID: 152FAC923B0E132C

View file

@ -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