diff --git a/sensors.py b/sensors.py index e29c28c..e7e739c 100755 --- a/sensors.py +++ b/sensors.py @@ -22,6 +22,9 @@ import psutil as ps +ps_v1_api = int(ps.__version__.split('.')[0]) <= 1 + + B_UNITS = ['', 'KB', 'MB', 'GB', 'TB'] cpu_load = [] @@ -332,6 +335,10 @@ class CPUSensor(BaseSensor): desc = _('Average CPU usage') cpus = re.compile("\Acpu\d*\Z") last = None + if ps_v1_api: + cpu_count = ps.NUM_CPUS + else: + cpu_count = ps.cpu_count() def check(self, sensor): if self.cpus.match(sensor): @@ -340,9 +347,9 @@ def check(self, sensor): else: nber = int(sensor[3:]) if len(sensor) > 3 else 999 - if nber >= ps.NUM_CPUS: + if nber >= self.cpu_count: print(sensor) - print(ps.NUM_CPUS) + print(self.cpu_count) print(len(sensor)) raise ISMError(_("Invalid number of CPUs.")) @@ -365,7 +372,7 @@ def _fetch_cpu(self, percpu=False): for i in cpu_load: r += i - r /= ps.NUM_CPUS + r /= self.cpu_count return r