Psutil sensors safe fail

pull/153/head
aristocratos 2020-06-21 01:40:27 +02:00
parent 54ba9307bd
commit 67e358c43e
2 changed files with 42 additions and 22 deletions

32
bashtop
View File

@ -4864,22 +4864,32 @@ def get_sensors():
temps = psutil.sensors_temperatures() temps = psutil.sensors_temperatures()
if not temps: if not temps:
return return
for name, entries in temps.items(): try:
print(name) for name, entries in temps.items():
for entry in entries: print(name)
print(f'{entry.label or name}: {entry.current}°C (high = {entry.high}°C, crit = {entry.critical}°C)') for entry in entries:
print() print(f'{entry.label or name}: {entry.current}°C (high = {entry.high}°C, crit = {entry.critical}°C)')
print()
except:
pass
def get_sensors_check(): def get_sensors_check():
'''Check if get_sensors() output contains accepted CPU temperature values''' '''Check if get_sensors() output contains accepted CPU temperature values'''
if not hasattr(psutil, "sensors_temperatures"): print("false"); return if not hasattr(psutil, "sensors_temperatures"): print("false"); return
temps = psutil.sensors_temperatures() try:
temps = psutil.sensors_temperatures()
except:
pass
print("false"); return
if not temps: print("false"); return if not temps: print("false"); return
for _, entries in temps.items(): try:
for entry in entries: for _, entries in temps.items():
if entry.label.startswith(('Package', 'Core 0', 'Tdie')): for entry in entries:
print("true") if entry.label.startswith(('Package', 'Core 0', 'Tdie')):
return print("true")
return
except:
pass
print("false") print("false")
def get_cpu_name(): def get_cpu_name():

View File

@ -51,22 +51,32 @@ def get_sensors():
temps = psutil.sensors_temperatures() temps = psutil.sensors_temperatures()
if not temps: if not temps:
return return
for name, entries in temps.items(): try:
print(name) for name, entries in temps.items():
for entry in entries: print(name)
print(f'{entry.label or name}: {entry.current}°C (high = {entry.high}°C, crit = {entry.critical}°C)') for entry in entries:
print() print(f'{entry.label or name}: {entry.current}°C (high = {entry.high}°C, crit = {entry.critical}°C)')
print()
except:
pass
def get_sensors_check(): def get_sensors_check():
'''Check if get_sensors() output contains accepted CPU temperature values''' '''Check if get_sensors() output contains accepted CPU temperature values'''
if not hasattr(psutil, "sensors_temperatures"): print("false"); return if not hasattr(psutil, "sensors_temperatures"): print("false"); return
temps = psutil.sensors_temperatures() try:
temps = psutil.sensors_temperatures()
except:
pass
print("false"); return
if not temps: print("false"); return if not temps: print("false"); return
for _, entries in temps.items(): try:
for entry in entries: for _, entries in temps.items():
if entry.label.startswith(('Package', 'Core 0', 'Tdie')): for entry in entries:
print("true") if entry.label.startswith(('Package', 'Core 0', 'Tdie')):
return print("true")
return
except:
pass
print("false") print("false")
def get_cpu_name(): def get_cpu_name():