Avoid crash when no sensor data available

* This was broken when fixing issue #85
This commit is contained in:
2Shirt 2019-01-07 15:29:33 -07:00
parent beb36dfc97
commit 4bd0cd1598
Signed by: 2Shirt
GPG key ID: 152FAC923B0E132C

View file

@ -112,20 +112,25 @@ def get_raw_sensor_data():
# Get raw data # Get raw data
try: try:
result = run_program(cmd) result = run_program(cmd)
result = result.stdout.decode().splitlines()
except subprocess.CalledProcessError: except subprocess.CalledProcessError:
# Assuming no sensors available, return empty dict below # Assuming no sensors available, set to empty list
pass result = []
# Workaround for bad sensors # Workaround for bad sensors
raw_data = [] raw_data = []
for line in result.stdout.decode().splitlines(): for line in result:
if line.strip() == ',': if line.strip() == ',':
# Assuming malformatted line caused by missing data # Assuming malformatted line caused by missing data
continue continue
raw_data.append(line) raw_data.append(line)
# Parse JSON data # 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 # Done
return json_data return json_data