Made changes to cpuTemp to make sure cpu temp reads are do be done only if machine is linux and also added return of both max and min temps alongside avg.

This commit is contained in:
2017-02-15 22:55:54 +01:00
parent 4eb949c661
commit 2b3db61253

View File

@@ -1,16 +1,15 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import psutil import psutil
from platform import system
def getCpuTemp(): def getCpuTemp():
# Check if sensors_temperatures exists sysName = system()
try: if sysName != 'Linux':
return {"Error": "Running OS does not support cpu temp reads."}
# Define cpu as function of sensors_temperatures # Define cpu as function of sensors_temperatures
cpu = psutil.sensors_temperatures() cpu = psutil.sensors_temperatures()
except AttributeError:
error = "'sensors_temperatures' is not supported in this verison of psutil or your OS."
print(error)
return None
# Array for temps for each core. # Array for temps for each core.
curCpuTemps = [] curCpuTemps = []
@@ -19,16 +18,9 @@ def getCpuTemp():
curCpuTemps.append(temp[1]) # Append to list curCpuTemps.append(temp[1]) # Append to list
print(temp[0]+': '+str(temp[1])) # Print output print(temp[0]+': '+str(temp[1])) # Print output
# Check if len of curCpuTemps is something so not to
# calculate on a empty list
if len(curCpuTemps) > 0:
# Compute avg of curCpuTemps
avgCpuTemps = sum(curCpuTemps)/len(curCpuTemps) avgCpuTemps = sum(curCpuTemps)/len(curCpuTemps)
return avgCpuTemps return {"Avg cpu temp": avgCpuTemps, "Max cpu temp": max(curCpuTemps),
print("Avg: " + str(avgCpuTemps)) "Min cpu temp": min(curCpuTemps)}
else:
print("Couldn't get cpu temp. (division by zero)")
return None
if __name__ == "__main__": if __name__ == "__main__":