Avoid crash when no sensor data available
* This was broken when fixing issue #85
This commit is contained in:
parent
beb36dfc97
commit
4bd0cd1598
1 changed files with 9 additions and 4 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue