From 4bd0cd1598b6403a8502493e753dbda6171f0eae Mon Sep 17 00:00:00 2001 From: 2Shirt <2xShirt@gmail.com> Date: Mon, 7 Jan 2019 15:29:33 -0700 Subject: [PATCH] Avoid crash when no sensor data available * This was broken when fixing issue #85 --- .bin/Scripts/functions/sensors.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.bin/Scripts/functions/sensors.py b/.bin/Scripts/functions/sensors.py index 22a27ef4..65a1b93e 100644 --- a/.bin/Scripts/functions/sensors.py +++ b/.bin/Scripts/functions/sensors.py @@ -112,20 +112,25 @@ def get_raw_sensor_data(): # Get raw data try: result = run_program(cmd) + result = result.stdout.decode().splitlines() except subprocess.CalledProcessError: - # Assuming no sensors available, return empty dict below - pass + # Assuming no sensors available, set to empty list + result = [] # Workaround for bad sensors raw_data = [] - for line in result.stdout.decode().splitlines(): + for line in result: if line.strip() == ',': # Assuming malformatted line caused by missing data continue raw_data.append(line) # Parse JSON data - json_data = json.loads('\n'.join(raw_data)) + try: + json_data = json.loads('\n'.join(raw_data)) + except json.JSONDecodeError: + # Still broken, just set to empty dict + json_data = {} # Done return json_data