From 2b3db61253b6bd29000bc9fbeb744321bce7e30f Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Wed, 15 Feb 2017 22:55:54 +0100 Subject: [PATCH] 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. --- status/cpuTemp.py | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/status/cpuTemp.py b/status/cpuTemp.py index d2fcb82..fb1df05 100755 --- a/status/cpuTemp.py +++ b/status/cpuTemp.py @@ -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()) \ No newline at end of file