small fix to BTMiner error codes to make things a bit more efficient.

This commit is contained in:
Upstream Data
2023-01-27 22:14:51 -07:00
parent 8423b64825
commit 6ad750d3e9

View File

@@ -14,8 +14,8 @@
import ipaddress import ipaddress
import logging import logging
from typing import List, Union, Tuple, Optional
from collections import namedtuple from collections import namedtuple
from typing import List, Optional, Tuple, Union
from pyasic.API.btminer import BTMinerAPI from pyasic.API.btminer import BTMinerAPI
from pyasic.config import MinerConfig from pyasic.config import MinerConfig
@@ -244,9 +244,7 @@ class BTMiner(BaseMiner):
api_ver = api_version["Msg"] api_ver = api_version["Msg"]
if not isinstance(api_ver, str): if not isinstance(api_ver, str):
api_ver = api_ver["api_ver"] api_ver = api_ver["api_ver"]
self.api_ver = api_ver.replace( self.api_ver = api_ver.replace("whatsminer v", "")
"whatsminer v", ""
)
self.fw_ver = api_version["Msg"]["fw_ver"] self.fw_ver = api_version["Msg"]["fw_ver"]
except (KeyError, TypeError): except (KeyError, TypeError):
pass pass
@@ -262,7 +260,9 @@ class BTMiner(BaseMiner):
if api_summary: if api_summary:
try: try:
self.fw_ver = api_summary["SUMMARY"][0]["Firmware Version"].replace("'", "") self.fw_ver = api_summary["SUMMARY"][0]["Firmware Version"].replace(
"'", ""
)
except (KeyError, IndexError): except (KeyError, IndexError):
pass pass
@@ -462,12 +462,9 @@ class BTMiner(BaseMiner):
if api_summary: if api_summary:
try: try:
for i in range(api_summary["SUMMARY"][0]["Error Code Count"]): for i in range(api_summary["SUMMARY"][0]["Error Code Count"]):
errors.append( err = api_summary["SUMMARY"][0].get(f"Error Code {i}")
WhatsminerError( if err:
error_code=api_summary["SUMMARY"][0][f"Error Code {i}"] errors.append(WhatsminerError(error_code=err))
)
)
except (KeyError, IndexError, ValueError, TypeError): except (KeyError, IndexError, ValueError, TypeError):
pass pass
@@ -502,7 +499,6 @@ class BTMiner(BaseMiner):
except (KeyError, IndexError): except (KeyError, IndexError):
pass pass
async def get_fault_light(self, api_miner_info: dict = None) -> bool: async def get_fault_light(self, api_miner_info: dict = None) -> bool:
data = None data = None