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
# -*- coding: utf-8 -*-
import psutil
from platform import system
def getCpuTemp():
# Check if sensors_temperatures exists
try:
# Define cpu as function of 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
sysName = system()
if sysName != 'Linux':
return {"Error": "Running OS does not support cpu temp reads."}
# Define cpu as function of sensors_temperatures
cpu = psutil.sensors_temperatures()
# Array for temps for each core.
curCpuTemps = []
@@ -19,17 +18,10 @@ def getCpuTemp():
curCpuTemps.append(temp[1]) # Append to list
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)
return avgCpuTemps
print("Avg: " + str(avgCpuTemps))
else:
print("Couldn't get cpu temp. (division by zero)")
return None
avgCpuTemps = sum(curCpuTemps)/len(curCpuTemps)
return {"Avg cpu temp": avgCpuTemps, "Max cpu temp": max(curCpuTemps),
"Min cpu temp": min(curCpuTemps)}
if __name__ == "__main__":
print(getCpuTemp())