diff options
Diffstat (limited to 'src/utils/probe.py')
-rw-r--r-- | src/utils/probe.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/utils/probe.py b/src/utils/probe.py index 796bf55..8c77bf9 100644 --- a/src/utils/probe.py +++ b/src/utils/probe.py @@ -10,10 +10,13 @@ import os import subprocess import platform +from enum import Enum from subprocess import PIPE from src.utils.fs import find_mountpoint +OSFamily = Enum('OSFamily', ['LINUX', 'WINDOWS', 'UNKNOWN']) + def getlinuxversion(osrelease): """ Parses a os-release file to fetch 'PRETTY_NAME' key. @@ -115,6 +118,19 @@ def cache_probe(): stdout = proc_blkid.stdout.decode().strip() return stdout + +def get_os_family(mountpoint): + winreghives = f'{mountpoint}/Windows/System32/' + osrelease = f'{mountpoint}/etc/os-release' + + if os.path.exists(osrelease): + return OSFamily.LINUX + elif os.path.exists(winreghives): + return OSFamily.WINDOWS + else: + return OSFamily.UNKNOWN + + def os_probe(mountpoint): """ Probes mountpoint for typical OS dependant files. |