From e9b8570f94f52f999059237d5928628b82dc0ae8 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Tue, 14 Feb 2017 10:06:40 +0100 Subject: [PATCH] Better pre-check that temp reading is supported for running OS and better return text. --- status/cpuTemp.py | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/status/cpuTemp.py b/status/cpuTemp.py index d2fcb82..ac9b334 100755 --- a/status/cpuTemp.py +++ b/status/cpuTemp.py @@ -1,16 +1,14 @@ #!/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 + if system() != 'Linux': + return {"Error": "Temp reader is not supported for this OS."} + # Define cpu as function of sensors_temperatures + cpu = psutil.sensors_temperatures() # Array for temps for each core. curCpuTemps = [] @@ -19,16 +17,9 @@ 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 + # Compute avg of curCpuTemps + avgCpuTemps = sum(curCpuTemps)/len(curCpuTemps) + return {"CPU Temp": avgCpuTemps} if __name__ == "__main__":