diff --git a/library/sensors/sensors.py b/library/sensors/sensors.py index 5b01aa7b..9728295a 100644 --- a/library/sensors/sensors.py +++ b/library/sensors/sensors.py @@ -105,17 +105,17 @@ def virtual_free() -> int: # In bytes class Disk(ABC): @staticmethod @abstractmethod - def disk_usage_percent() -> float: + def disk_usage_percent(path: str = "/") -> float: pass @staticmethod @abstractmethod - def disk_used() -> int: # In bytes + def disk_used(path: str = "/") -> int: # In bytes pass @staticmethod @abstractmethod - def disk_free() -> int: # In bytes + def disk_free(path: str = "/") -> int: # In bytes pass diff --git a/library/sensors/sensors_librehardwaremonitor.py b/library/sensors/sensors_librehardwaremonitor.py index c6193ffe..0419e379 100644 --- a/library/sensors/sensors_librehardwaremonitor.py +++ b/library/sensors/sensors_librehardwaremonitor.py @@ -450,16 +450,16 @@ def virtual_free() -> int: # In bytes # This is because LHM is a hardware-oriented library, whereas used/free/total space is for partitions, not disks class Disk(sensors.Disk): @staticmethod - def disk_usage_percent() -> float: - return psutil.disk_usage("/").percent + def disk_usage_percent(path: str = "/") -> float: + return psutil.disk_usage(path).percent @staticmethod - def disk_used() -> int: # In bytes - return psutil.disk_usage("/").used + def disk_used(path: str = "/") -> int: # In bytes + return psutil.disk_usage(path).used @staticmethod - def disk_free() -> int: # In bytes - return psutil.disk_usage("/").free + def disk_free(path: str = "/") -> int: # In bytes + return psutil.disk_usage(path).free class Net(sensors.Net): diff --git a/library/sensors/sensors_python.py b/library/sensors/sensors_python.py index fc76af1b..bd188c44 100644 --- a/library/sensors/sensors_python.py +++ b/library/sensors/sensors_python.py @@ -453,23 +453,23 @@ def virtual_free() -> int: # In bytes class Disk(sensors.Disk): @staticmethod - def disk_usage_percent() -> float: + def disk_usage_percent(path: str = "/") -> float: try: - return psutil.disk_usage("/").percent + return psutil.disk_usage(path).percent except: return math.nan @staticmethod - def disk_used() -> int: # In bytes + def disk_used(path: str = "/") -> int: # In bytes try: - return psutil.disk_usage("/").used + return psutil.disk_usage(path).used except: return -1 @staticmethod - def disk_free() -> int: # In bytes + def disk_free(path: str = "/") -> int: # In bytes try: - return psutil.disk_usage("/").free + return psutil.disk_usage(path).free except: return -1 diff --git a/library/sensors/sensors_stub_random.py b/library/sensors/sensors_stub_random.py index 2c3e7002..8b315f77 100644 --- a/library/sensors/sensors_stub_random.py +++ b/library/sensors/sensors_stub_random.py @@ -93,15 +93,15 @@ def virtual_free() -> int: # In bytes class Disk(sensors.Disk): @staticmethod - def disk_usage_percent() -> float: + def disk_usage_percent(path: str = "/") -> float: return random.uniform(0, 100) @staticmethod - def disk_used() -> int: # In bytes + def disk_used(path: str = "/") -> int: # In bytes return random.randint(1000000000, 2000000000000) @staticmethod - def disk_free() -> int: # In bytes + def disk_free(path: str = "/") -> int: # In bytes return random.randint(1000000000, 2000000000000) diff --git a/library/sensors/sensors_stub_static.py b/library/sensors/sensors_stub_static.py index 3ad96a62..03f3675f 100644 --- a/library/sensors/sensors_stub_static.py +++ b/library/sensors/sensors_stub_static.py @@ -109,15 +109,15 @@ def virtual_free() -> int: # In bytes class Disk(sensors.Disk): @staticmethod - def disk_usage_percent() -> float: + def disk_usage_percent(path: str = "/") -> float: return PERCENTAGE_SENSOR_VALUE @staticmethod - def disk_used() -> int: # In bytes + def disk_used(path: str = "/") -> int: # In bytes return int(DISK_TOTAL_SIZE_GB / 100 * PERCENTAGE_SENSOR_VALUE) * 1000000000 @staticmethod - def disk_free() -> int: # In bytes + def disk_free(path: str = "/") -> int: # In bytes return int(DISK_TOTAL_SIZE_GB / 100 * (100 - PERCENTAGE_SENSOR_VALUE)) * 1000000000 diff --git a/library/stats.py b/library/stats.py index 9af85060..3e8b19cc 100644 --- a/library/stats.py +++ b/library/stats.py @@ -647,12 +647,16 @@ class Disk: @classmethod def stats(cls): - used = sensors.Disk.disk_used() - free = sensors.Disk.disk_free() - disk_theme_data = config.THEME_DATA['STATS']['DISK'] + + path = "/" + if disk_theme_data['PATH'] is not None: + path = disk_theme_data['PATH'] + + used = sensors.Disk.disk_used(path) + free = sensors.Disk.disk_free(path) - disk_usage_percent = sensors.Disk.disk_usage_percent() + disk_usage_percent = sensors.Disk.disk_usage_percent(path) save_last_value(disk_usage_percent, cls.last_values_disk_usage, disk_theme_data['USED']['LINE_GRAPH'].get("HISTORY_SIZE", DEFAULT_HISTORY_SIZE)) display_themed_progress_bar(disk_theme_data['USED']['GRAPH'], disk_usage_percent)