refactor: swap (KeyError, IndexError) for LookupError.

This commit is contained in:
UpstreamData
2024-01-11 15:20:33 -07:00
parent 2ef85d3868
commit cd1768aae9
10 changed files with 42 additions and 42 deletions

View File

@@ -550,7 +550,7 @@ class AntminerOld(CGMiner):
if (not chips) or (not chips > 0): if (not chips) or (not chips > 0):
hashboard.missing = True hashboard.missing = True
hashboards.append(hashboard) hashboards.append(hashboard)
except (IndexError, KeyError, ValueError, TypeError): except (LookupError, ValueError, TypeError):
pass pass
return hashboards return hashboards

View File

@@ -168,7 +168,7 @@ class BFGMiner(BaseMiner):
if api_summary: if api_summary:
try: try:
return round(float(api_summary["SUMMARY"][0]["MHS 20s"] / 1000000), 2) return round(float(api_summary["SUMMARY"][0]["MHS 20s"] / 1000000), 2)
except (IndexError, KeyError, ValueError, TypeError): except (LookupError, ValueError, TypeError):
pass pass
async def _get_hashboards(self, api_stats: dict = None) -> List[HashBoard]: async def _get_hashboards(self, api_stats: dict = None) -> List[HashBoard]:
@@ -220,7 +220,7 @@ class BFGMiner(BaseMiner):
if (not chips) or (not chips > 0): if (not chips) or (not chips > 0):
hashboard.missing = True hashboard.missing = True
hashboards.append(hashboard) hashboards.append(hashboard)
except (IndexError, KeyError, ValueError, TypeError): except (LookupError, ValueError, TypeError):
pass pass
return hashboards return hashboards
@@ -258,7 +258,7 @@ class BFGMiner(BaseMiner):
fans_data[fan] = api_stats["STATS"][1].get( fans_data[fan] = api_stats["STATS"][1].get(
f"fan{fan_offset+fan}", 0 f"fan{fan_offset+fan}", 0
) )
except (KeyError, IndexError): except LookupError:
pass pass
fans = [Fan(speed=d) if d else Fan() for d in fans_data] fans = [Fan(speed=d) if d else Fan() for d in fans_data]

View File

@@ -205,7 +205,7 @@ class BMMiner(BaseMiner):
if api_summary: if api_summary:
try: try:
return round(float(api_summary["SUMMARY"][0]["GHS 5s"] / 1000), 2) return round(float(api_summary["SUMMARY"][0]["GHS 5s"] / 1000), 2)
except (IndexError, KeyError, ValueError, TypeError): except (LookupError, ValueError, TypeError):
pass pass
async def _get_hashboards(self, api_stats: dict = None) -> List[HashBoard]: async def _get_hashboards(self, api_stats: dict = None) -> List[HashBoard]:
@@ -308,7 +308,7 @@ class BMMiner(BaseMiner):
fans[fan].speed = api_stats["STATS"][1].get( fans[fan].speed = api_stats["STATS"][1].get(
f"fan{fan_offset+fan}", 0 f"fan{fan_offset+fan}", 0
) )
except (KeyError, IndexError): except LookupError:
pass pass
return fans return fans

View File

@@ -478,7 +478,7 @@ class BOSMiner(BaseMiner):
if api_version: if api_version:
try: try:
api_ver = api_version["VERSION"][0]["API"] api_ver = api_version["VERSION"][0]["API"]
except (KeyError, IndexError): except LookupError:
api_ver = None api_ver = None
self.api_ver = api_ver self.api_ver = api_ver
self.api.api_ver = self.api_ver self.api.api_ver = self.api_ver
@@ -580,7 +580,7 @@ class BOSMiner(BaseMiner):
if api_summary: if api_summary:
try: try:
return round(float(api_summary["SUMMARY"][0]["MHS 1m"] / 1000000), 2) return round(float(api_summary["SUMMARY"][0]["MHS 1m"] / 1000000), 2)
except (KeyError, IndexError, ValueError, TypeError): except (LookupError, ValueError, TypeError):
pass pass
async def _get_hashboards( async def _get_hashboards(
@@ -642,7 +642,7 @@ class BOSMiner(BaseMiner):
board.temp = round(hb["temperatures"][0]["degreesC"]) board.temp = round(hb["temperatures"][0]["degreesC"])
if len(temps) > 1: if len(temps) > 1:
board.chip_temp = round(hb["temperatures"][1]["degreesC"]) board.chip_temp = round(hb["temperatures"][1]["degreesC"])
except (TypeError, KeyError, ValueError, IndexError): except (LookupError, TypeError, ValueError):
pass pass
details = hb.get("hwDetails") details = hb.get("hwDetails")
if details: if details:
@@ -666,15 +666,15 @@ class BOSMiner(BaseMiner):
d = {} d = {}
try: try:
api_temps = d["temps"][0] api_temps = d["temps"][0]
except (KeyError, IndexError): except LookupError:
api_temps = None api_temps = None
try: try:
api_devdetails = d["devdetails"][0] api_devdetails = d["devdetails"][0]
except (KeyError, IndexError): except LookupError:
api_devdetails = None api_devdetails = None
try: try:
api_devs = d["devs"][0] api_devs = d["devs"][0]
except (KeyError, IndexError): except LookupError:
api_devs = None api_devs = None
if api_temps: if api_temps:
try: try:
@@ -686,7 +686,7 @@ class BOSMiner(BaseMiner):
board_temp = round(board["Board"]) board_temp = round(board["Board"])
hashboards[_id].chip_temp = chip_temp hashboards[_id].chip_temp = chip_temp
hashboards[_id].temp = board_temp hashboards[_id].temp = board_temp
except (IndexError, KeyError, ValueError, TypeError): except (LookupError, ValueError, TypeError):
pass pass
if api_devdetails: if api_devdetails:
@@ -698,7 +698,7 @@ class BOSMiner(BaseMiner):
chips = board["Chips"] chips = board["Chips"]
hashboards[_id].chips = chips hashboards[_id].chips = chips
hashboards[_id].missing = False hashboards[_id].missing = False
except (IndexError, KeyError): except LookupError:
pass pass
if api_devs: if api_devs:
@@ -709,7 +709,7 @@ class BOSMiner(BaseMiner):
_id = board["ID"] - offset _id = board["ID"] - offset
hashrate = round(float(board["MHS 1m"] / 1000000), 2) hashrate = round(float(board["MHS 1m"] / 1000000), 2)
hashboards[_id].hashrate = hashrate hashboards[_id].hashrate = hashrate
except (IndexError, KeyError): except LookupError:
pass pass
return hashboards return hashboards
@@ -750,7 +750,7 @@ class BOSMiner(BaseMiner):
return api_tunerstatus["TUNERSTATUS"][0][ return api_tunerstatus["TUNERSTATUS"][0][
"ApproximateMinerPowerConsumption" "ApproximateMinerPowerConsumption"
] ]
except (KeyError, IndexError): except LookupError:
pass pass
async def _get_wattage_limit( async def _get_wattage_limit(
@@ -781,7 +781,7 @@ class BOSMiner(BaseMiner):
if api_tunerstatus: if api_tunerstatus:
try: try:
return api_tunerstatus["TUNERSTATUS"][0]["PowerLimit"] return api_tunerstatus["TUNERSTATUS"][0]["PowerLimit"]
except (KeyError, IndexError): except LookupError:
pass pass
async def _get_fans( async def _get_fans(
@@ -820,7 +820,7 @@ class BOSMiner(BaseMiner):
for n in range(self.expected_fans): for n in range(self.expected_fans):
try: try:
fans.append(Fan(api_fans["FANS"][n]["RPM"])) fans.append(Fan(api_fans["FANS"][n]["RPM"]))
except (IndexError, KeyError): except LookupError:
pass pass
return fans return fans
return [Fan() for _ in range(self.expected_fans)] return [Fan() for _ in range(self.expected_fans)]
@@ -904,7 +904,7 @@ class BOSMiner(BaseMiner):
_error = _error[0].lower() + _error[1:] _error = _error[0].lower() + _error[1:]
errors.append(BraiinsOSError(f"Slot {_id} {_error}")) errors.append(BraiinsOSError(f"Slot {_id} {_error}"))
return errors return errors
except (KeyError, IndexError): except LookupError:
pass pass
async def _get_fault_light(self, graphql_fault_light: dict = None) -> bool: async def _get_fault_light(self, graphql_fault_light: dict = None) -> bool:
@@ -987,7 +987,7 @@ class BOSMiner(BaseMiner):
return round( return round(
(sum(hr_list) / len(hr_list)) * self.expected_hashboards, 2 (sum(hr_list) / len(hr_list)) * self.expected_hashboards, 2
) )
except (IndexError, KeyError): except LookupError:
pass pass
async def _is_mining(self, api_devdetails: dict = None) -> Optional[bool]: async def _is_mining(self, api_devdetails: dict = None) -> Optional[bool]:

View File

@@ -394,7 +394,7 @@ class BTMiner(BaseMiner):
if api_summary: if api_summary:
try: try:
return round(float(api_summary["SUMMARY"][0]["MHS 1m"] / 1000000), 2) return round(float(api_summary["SUMMARY"][0]["MHS 1m"] / 1000000), 2)
except (KeyError, IndexError): except LookupError:
pass pass
async def _get_hashboards(self, api_devs: dict = None) -> List[HashBoard]: async def _get_hashboards(self, api_devs: dict = None) -> List[HashBoard]:
@@ -442,7 +442,7 @@ class BTMiner(BaseMiner):
if api_summary: if api_summary:
try: try:
return api_summary["SUMMARY"][0]["Env Temp"] return api_summary["SUMMARY"][0]["Env Temp"]
except (KeyError, IndexError): except LookupError:
pass pass
async def _get_wattage(self, api_summary: dict = None) -> Optional[int]: async def _get_wattage(self, api_summary: dict = None) -> Optional[int]:
@@ -469,7 +469,7 @@ class BTMiner(BaseMiner):
if api_summary: if api_summary:
try: try:
return api_summary["SUMMARY"][0]["Power Limit"] return api_summary["SUMMARY"][0]["Power Limit"]
except (KeyError, IndexError): except LookupError:
pass pass
async def _get_fans( async def _get_fans(
@@ -506,7 +506,7 @@ class BTMiner(BaseMiner):
if api_summary: if api_summary:
try: try:
return int(api_summary["SUMMARY"][0]["Power Fanspeed"]) return int(api_summary["SUMMARY"][0]["Power Fanspeed"])
except (KeyError, IndexError): except LookupError:
pass pass
if not api_get_psu: if not api_get_psu:
@@ -537,7 +537,7 @@ class BTMiner(BaseMiner):
err = api_summary["SUMMARY"][0].get(f"Error Code {i}") err = api_summary["SUMMARY"][0].get(f"Error Code {i}")
if err: if err:
errors.append(WhatsminerError(error_code=err)) errors.append(WhatsminerError(error_code=err))
except (KeyError, IndexError, ValueError, TypeError): except (LookupError, ValueError, TypeError):
pass pass
if not api_get_error_code: if not api_get_error_code:

View File

@@ -229,7 +229,7 @@ class CGMiner(BaseMiner):
return round( return round(
float(float(api_summary["SUMMARY"][0]["GHS 5s"]) / 1000), 2 float(float(api_summary["SUMMARY"][0]["GHS 5s"]) / 1000), 2
) )
except (IndexError, KeyError, ValueError, TypeError): except (LookupError, ValueError, TypeError):
pass pass
async def _get_hashboards(self, api_stats: dict = None) -> List[HashBoard]: async def _get_hashboards(self, api_stats: dict = None) -> List[HashBoard]:
@@ -281,7 +281,7 @@ class CGMiner(BaseMiner):
if (not chips) or (not chips > 0): if (not chips) or (not chips > 0):
hashboard.missing = True hashboard.missing = True
hashboards.append(hashboard) hashboards.append(hashboard)
except (IndexError, KeyError, ValueError, TypeError): except (LookupError, ValueError, TypeError):
pass pass
return hashboards return hashboards

View File

@@ -210,7 +210,7 @@ class CGMinerAvalon(CGMiner):
if api_devs: if api_devs:
try: try:
return round(float(api_devs["DEVS"][0]["MHS 1m"] / 1000000), 2) return round(float(api_devs["DEVS"][0]["MHS 1m"] / 1000000), 2)
except (KeyError, IndexError, ValueError, TypeError): except (LookupError, ValueError, TypeError):
pass pass
async def _get_hashboards(self, api_stats: dict = None) -> List[HashBoard]: async def _get_hashboards(self, api_stats: dict = None) -> List[HashBoard]:
@@ -229,7 +229,7 @@ class CGMinerAvalon(CGMiner):
try: try:
unparsed_stats = api_stats["STATS"][0]["MM ID0"] unparsed_stats = api_stats["STATS"][0]["MM ID0"]
parsed_stats = self.parse_stats(unparsed_stats) parsed_stats = self.parse_stats(unparsed_stats)
except (IndexError, KeyError, ValueError, TypeError): except (LookupError, ValueError, TypeError):
return hashboards return hashboards
for board in range(self.expected_hashboards): for board in range(self.expected_hashboards):
@@ -273,7 +273,7 @@ class CGMinerAvalon(CGMiner):
unparsed_stats = api_stats["STATS"][0]["MM ID0"] unparsed_stats = api_stats["STATS"][0]["MM ID0"]
parsed_stats = self.parse_stats(unparsed_stats) parsed_stats = self.parse_stats(unparsed_stats)
return round(float(parsed_stats["GHSmm"]) / 1000, 2) return round(float(parsed_stats["GHSmm"]) / 1000, 2)
except (IndexError, KeyError, ValueError, TypeError): except (LookupError, ValueError, TypeError):
pass pass
async def _get_env_temp(self, api_stats: dict = None) -> Optional[float]: async def _get_env_temp(self, api_stats: dict = None) -> Optional[float]:
@@ -288,7 +288,7 @@ class CGMinerAvalon(CGMiner):
unparsed_stats = api_stats["STATS"][0]["MM ID0"] unparsed_stats = api_stats["STATS"][0]["MM ID0"]
parsed_stats = self.parse_stats(unparsed_stats) parsed_stats = self.parse_stats(unparsed_stats)
return float(parsed_stats["Temp"]) return float(parsed_stats["Temp"])
except (IndexError, KeyError, ValueError, TypeError): except (LookupError, ValueError, TypeError):
pass pass
async def _get_wattage(self) -> Optional[int]: async def _get_wattage(self) -> Optional[int]:
@@ -306,7 +306,7 @@ class CGMinerAvalon(CGMiner):
unparsed_stats = api_stats["STATS"][0]["MM ID0"] unparsed_stats = api_stats["STATS"][0]["MM ID0"]
parsed_stats = self.parse_stats(unparsed_stats) parsed_stats = self.parse_stats(unparsed_stats)
return int(parsed_stats["MPO"]) return int(parsed_stats["MPO"])
except (IndexError, KeyError, ValueError, TypeError): except (LookupError, ValueError, TypeError):
pass pass
async def _get_fans(self, api_stats: dict = None) -> List[Fan]: async def _get_fans(self, api_stats: dict = None) -> List[Fan]:
@@ -327,7 +327,7 @@ class CGMinerAvalon(CGMiner):
for fan in range(self.expected_fans): for fan in range(self.expected_fans):
try: try:
fans_data[fan].speed = int(parsed_stats[f"Fan{fan + 1}"]) fans_data[fan].speed = int(parsed_stats[f"Fan{fan + 1}"])
except (IndexError, KeyError, ValueError, TypeError): except (LookupError, ValueError, TypeError):
pass pass
return fans_data return fans_data
@@ -349,7 +349,7 @@ class CGMinerAvalon(CGMiner):
parsed_stats = self.parse_stats(unparsed_stats) parsed_stats = self.parse_stats(unparsed_stats)
led = int(parsed_stats["Led"]) led = int(parsed_stats["Led"])
return True if led == 1 else False return True if led == 1 else False
except (IndexError, KeyError, ValueError, TypeError): except (LookupError, ValueError, TypeError):
pass pass
try: try:

View File

@@ -216,7 +216,7 @@ class ePIC(BaseMiner):
hashrate += hb["Hashrate"][0] / ideal hashrate += hb["Hashrate"][0] / ideal
return round(float(float(hashrate / 1000000)), 2) return round(float(float(hashrate / 1000000)), 2)
except (IndexError, KeyError, ValueError, TypeError) as e: except (LookupError, ValueError, TypeError) as e:
logger.error(e) logger.error(e)
pass pass

View File

@@ -211,7 +211,7 @@ class LUXMiner(BaseMiner):
if api_summary: if api_summary:
try: try:
return round(float(api_summary["SUMMARY"][0]["GHS 5s"] / 1000), 2) return round(float(api_summary["SUMMARY"][0]["GHS 5s"] / 1000), 2)
except (IndexError, KeyError, ValueError, TypeError): except (LookupError, ValueError, TypeError):
pass pass
async def _get_hashboards(self, api_stats: dict = None) -> List[HashBoard]: async def _get_hashboards(self, api_stats: dict = None) -> List[HashBoard]:
@@ -263,7 +263,7 @@ class LUXMiner(BaseMiner):
if (not chips) or (not chips > 0): if (not chips) or (not chips > 0):
hashboard.missing = True hashboard.missing = True
hashboards.append(hashboard) hashboards.append(hashboard)
except (IndexError, KeyError, ValueError, TypeError): except (LookupError, ValueError, TypeError):
pass pass
return hashboards return hashboards
@@ -281,7 +281,7 @@ class LUXMiner(BaseMiner):
if api_power: if api_power:
try: try:
return api_power["POWER"][0]["Watts"] return api_power["POWER"][0]["Watts"]
except (IndexError, KeyError, ValueError, TypeError): except (LookupError, ValueError, TypeError):
pass pass
async def _get_wattage_limit(self) -> Optional[int]: async def _get_wattage_limit(self) -> Optional[int]:
@@ -299,8 +299,8 @@ class LUXMiner(BaseMiner):
if api_fans: if api_fans:
for fan in range(self.expected_fans): for fan in range(self.expected_fans):
try: try:
fans.append(Fan(api_fans["FANS"][0]["RPM"])) fans.append(Fan(api_fans["FANS"][fan]["RPM"]))
except (IndexError, KeyError, ValueError, TypeError): except (LookupError, ValueError, TypeError):
fans.append(Fan()) fans.append(Fan())
return fans return fans
@@ -333,7 +333,7 @@ class LUXMiner(BaseMiner):
return round(expected_rate / 1000000, 2) return round(expected_rate / 1000000, 2)
else: else:
return round(expected_rate, 2) return round(expected_rate, 2)
except (KeyError, IndexError): except LookupError:
pass pass
async def _is_mining(self) -> Optional[bool]: async def _is_mining(self) -> Optional[bool]:

View File

@@ -181,7 +181,7 @@ class VNish(BMMiner):
return round( return round(
float(float(api_summary["SUMMARY"][0]["GHS 5s"]) / 1000), 2 float(float(api_summary["SUMMARY"][0]["GHS 5s"]) / 1000), 2
) )
except (IndexError, KeyError, ValueError, TypeError) as e: except (LookupError, ValueError, TypeError) as e:
logger.error(e) logger.error(e)
pass pass