refactor: swap (KeyError, IndexError) for LookupError.

This commit is contained in:
UpstreamData
2024-01-11 15:20:33 -07:00
parent 60f3687d02
commit b0337e8417
5 changed files with 37 additions and 37 deletions

View File

@@ -69,14 +69,14 @@ class HiveonT9(Hiveon, T9):
hashboards[board].chip_temp = api_stats["STATS"][1][ hashboards[board].chip_temp = api_stats["STATS"][1][
f"temp2_{chipset}" f"temp2_{chipset}"
] ]
except (KeyError, IndexError): except LookupError:
pass pass
else: else:
hashboards[board].missing = False hashboards[board].missing = False
try: try:
hashrate += api_stats["STATS"][1][f"chain_rate{chipset}"] hashrate += api_stats["STATS"][1][f"chain_rate{chipset}"]
chips += api_stats["STATS"][1][f"chain_acn{chipset}"] chips += api_stats["STATS"][1][f"chain_acn{chipset}"]
except (KeyError, IndexError): except LookupError:
pass pass
hashboards[board].hashrate = round(hashrate / 1000, 2) hashboards[board].hashrate = round(hashrate / 1000, 2)
hashboards[board].chips = chips hashboards[board].chips = chips
@@ -94,7 +94,7 @@ class HiveonT9(Hiveon, T9):
boards = api_stats.get("STATS") boards = api_stats.get("STATS")
try: try:
wattage_raw = boards[1]["chain_power"] wattage_raw = boards[1]["chain_power"]
except (KeyError, IndexError): except LookupError:
pass pass
else: else:
# parse wattage position out of raw data # parse wattage position out of raw data
@@ -119,7 +119,7 @@ class HiveonT9(Hiveon, T9):
env_temp = api_stats["STATS"][1][f"temp3_{chipset}"] env_temp = api_stats["STATS"][1][f"temp3_{chipset}"]
if not env_temp == 0: if not env_temp == 0:
env_temp_list.append(int(env_temp)) env_temp_list.append(int(env_temp))
except (KeyError, IndexError): except LookupError:
pass pass
if not env_temp_list == []: if not env_temp_list == []:

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

@@ -310,7 +310,7 @@ class BTMiner(BaseMiner):
try: try:
mac = api_summary["SUMMARY"][0]["MAC"] mac = api_summary["SUMMARY"][0]["MAC"]
return str(mac).upper() return str(mac).upper()
except (KeyError, IndexError): except LookupError:
pass pass
async def _get_api_ver(self, api_get_version: dict = None) -> Optional[str]: async def _get_api_ver(self, api_get_version: dict = None) -> Optional[str]:
@@ -366,7 +366,7 @@ class BTMiner(BaseMiner):
self.fw_ver = api_summary["SUMMARY"][0]["Firmware Version"].replace( self.fw_ver = api_summary["SUMMARY"][0]["Firmware Version"].replace(
"'", "" "'", ""
) )
except (KeyError, IndexError): except LookupError:
pass pass
return self.fw_ver return self.fw_ver
@@ -398,7 +398,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]:
@@ -431,7 +431,7 @@ class BTMiner(BaseMiner):
hashboards[board["ASC"]].chips = board["Effective Chips"] hashboards[board["ASC"]].chips = board["Effective Chips"]
hashboards[board["ASC"]].serial_number = board["PCB SN"] hashboards[board["ASC"]].serial_number = board["PCB SN"]
hashboards[board["ASC"]].missing = False hashboards[board["ASC"]].missing = False
except (KeyError, IndexError): except LookupError:
pass pass
return hashboards return hashboards
@@ -446,7 +446,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]:
@@ -460,7 +460,7 @@ class BTMiner(BaseMiner):
try: try:
wattage = api_summary["SUMMARY"][0]["Power"] wattage = api_summary["SUMMARY"][0]["Power"]
return wattage if not wattage == -1 else None return wattage if not wattage == -1 else None
except (KeyError, IndexError): except LookupError:
pass pass
async def _get_wattage_limit(self, api_summary: dict = None) -> Optional[int]: async def _get_wattage_limit(self, api_summary: dict = None) -> Optional[int]:
@@ -473,7 +473,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(
@@ -493,7 +493,7 @@ class BTMiner(BaseMiner):
Fan(api_summary["SUMMARY"][0].get("Fan Speed In", 0)), Fan(api_summary["SUMMARY"][0].get("Fan Speed In", 0)),
Fan(api_summary["SUMMARY"][0].get("Fan Speed Out", 0)), Fan(api_summary["SUMMARY"][0].get("Fan Speed Out", 0)),
] ]
except (KeyError, IndexError): except LookupError:
pass pass
return fans return fans
@@ -510,7 +510,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:
@@ -555,7 +555,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
return errors return errors
@@ -572,7 +572,7 @@ class BTMiner(BaseMiner):
expected_hashrate = api_summary["SUMMARY"][0]["Factory GHS"] expected_hashrate = api_summary["SUMMARY"][0]["Factory GHS"]
if expected_hashrate: if expected_hashrate:
return round(expected_hashrate / 1000, 2) return round(expected_hashrate / 1000, 2)
except (KeyError, IndexError): except LookupError:
pass pass
async def _get_fault_light(self, api_get_miner_info: dict = None) -> bool: async def _get_fault_light(self, api_get_miner_info: dict = None) -> bool:

View File

@@ -208,7 +208,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]:
@@ -227,7 +227,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):
@@ -271,7 +271,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]:
@@ -286,7 +286,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]:
@@ -304,7 +304,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]:
@@ -325,7 +325,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
@@ -347,7 +347,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