Support get_disks_macOS() on older macOS versions
This commit is contained in:
parent
cc8c0992f6
commit
0c8701e3e4
1 changed files with 12 additions and 1 deletions
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue