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':
# Define cpu as function of sensors_temperatures return {"Error": "Running OS does not support cpu temp reads."}
cpu = psutil.sensors_temperatures()
except AttributeError: # Define cpu as function of sensors_temperatures
error = "'sensors_temperatures' is not supported in this verison of psutil or your OS." cpu = psutil.sensors_temperatures()
print(error)
return None
# Array for temps for each core. # Array for temps for each core.
curCpuTemps = [] curCpuTemps = []
@@ -19,17 +18,10 @@ 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 avgCpuTemps = sum(curCpuTemps)/len(curCpuTemps)
# calculate on a empty list return {"Avg cpu temp": avgCpuTemps, "Max cpu temp": max(curCpuTemps),
if len(curCpuTemps) > 0: "Min cpu temp": min(curCpuTemps)}
# Compute avg of curCpuTemps
avgCpuTemps = sum(curCpuTemps)/len(curCpuTemps)
return avgCpuTemps
print("Avg: " + str(avgCpuTemps))
else:
print("Couldn't get cpu temp. (division by zero)")
return None
if __name__ == "__main__": if __name__ == "__main__":
print(getCpuTemp()) print(getCpuTemp())