Enhanced get_mount_info() to recursively get the information

This commit is contained in:
Anton Hvornum 2021-10-30 16:16:43 +02:00
parent d3aec52d98
commit 6be071b6e0
No known key found for this signature in database
GPG Key ID: F1234C5BA67C59DF
1 changed files with 9 additions and 4 deletions

View File

@ -117,10 +117,13 @@ def harddrive(size=None, model=None, fuzzy=False):
def get_mount_info(path :Union[pathlib.Path, str]) -> dict:
try:
output = SysCommand(f'/usr/bin/findmnt --json {path}').decode('UTF-8')
except SysCallError:
return {}
for traversal in list(map(str, [str(path)] + list(pathlib.Path(str(path)).parents))):
try:
output = SysCommand(f'/usr/bin/findmnt --json {traversal}').decode('UTF-8')
if output:
break
except SysCallError:
pass
if not output:
return {}
@ -132,6 +135,8 @@ def get_mount_info(path :Union[pathlib.Path, str]) -> dict:
return output['filesystems'][0]
return {}
def get_partitions_in_use(mountpoint) -> list:
from .partition import Partition