bug: add try except statements to get_data to fix bugs with getting data from graphql.

This commit is contained in:
Upstream Data
2022-11-13 17:03:41 -07:00
parent 255d98fd08
commit b70fed40c8

View File

@@ -562,7 +562,12 @@ class BOSMiner(BaseMiner):
except TypeError or KeyError or ValueError:
pass
boards = query_data["bosminer"]["info"]["workSolver"]["childSolvers"]
boards = None
if query_data.get("bosminer"):
if query_data["bosminer"].get("info"):
if query_data["bosminer"]["info"].get("workSolver"):
boards = query_data["bosminer"]["info"]["workSolver"].get("childSolvers")
if boards:
offset = 6 if int(boards[0]["name"]) in [6, 7, 8] else int(boards[0]["name"])
for hb in boards:
_id = int(hb["name"]) - offset
@@ -592,14 +597,27 @@ class BOSMiner(BaseMiner):
data.errors.append(
BraiinsOSError(f"Slot {_id} {hb['tuner']['statusMessages'][0]}")
)
try:
data.wattage = query_data["bosminer"]["info"]["workSolver"]["power"]["approxConsumptionW"]
except TypeError or KeyError or ValueError:
pass
try:
data.wattage_limit = query_data["bosminer"]["info"]["workSolver"]["power"]["limitW"]
except TypeError or KeyError or ValueError:
pass
for n in range(self.fan_count):
try:
setattr(data, f"fan_{n + 1}", query_data["bosminer"]["info"]["fans"][n]["rpm"])
except TypeError or KeyError or ValueError:
pass
groups = query_data["bosminer"]["config"]["groups"]
groups = None
if query_data.get("bosminer"):
if query_data["bosminer"].get("config"):
groups = query_data["bosminer"]["config"].get("groups")
if groups:
if len(groups) == 1:
data.pool_1_user = groups[0]["pools"][0]["user"]
data.pool_1_url = groups[0]["pools"][0]["url"]