diff --git a/software/source/server/utils/get_system_info.py b/software/source/server/utils/get_system_info.py index eeca56ab..8989d444 100644 --- a/software/source/server/utils/get_system_info.py +++ b/software/source/server/utils/get_system_info.py @@ -1,38 +1,41 @@ import os import platform - def get_system_info(): system = platform.system() - if system == "Linux": # Attempt to identify specific Linux distribution distro = "linux" # Default to generic 'linux' try: with open("/etc/os-release") as f: os_release_info = f.read().lower() - if "ubuntu" in os_release_info: - return "raspberry-pi-ubuntu" - elif "raspbian" in os_release_info: - return "raspberry-pi-os" + if "raspbian" in os_release_info: + distro = "raspberry-pi-os" + elif "ubuntu" in os_release_info: + distro = "ubuntu" except FileNotFoundError: pass - + # Check for Raspberry Pi hardware + is_raspberry_pi = False try: with open("/proc/device-tree/model") as f: model_info = f.read() - if "Raspberry Pi" in model_info: - if distro == "ubuntu": - return "raspberry-pi-ubuntu" - return "raspberry-pi" + if "Raspberry Pi" in model_info: + is_raspberry_pi = True except FileNotFoundError: pass - - return distro + + if is_raspberry_pi: + if distro == "ubuntu": + return "raspberry-pi-ubuntu" + else: + return "raspberry-pi" + else: + return distro elif system == "Darwin": return "darwin" elif system == "Windows": return "windows" else: - return "unknown" + return "unknown" \ No newline at end of file