bug: fix warnings when new whatsminer API commands don't exist.

This commit is contained in:
UpstreamData
2022-11-02 10:32:33 -06:00
parent 1587f65196
commit 9672dd6873
3 changed files with 9 additions and 9 deletions

View File

@@ -82,7 +82,7 @@ If you are sure you want to use this command please use API.send_command("{comma
# make sure we can actually run each command, otherwise they will fail # make sure we can actually run each command, otherwise they will fail
commands = self._check_commands(*commands) commands = self._check_commands(*commands)
# standard multicommand format is "command1+command2" # standard multicommand format is "command1+command2"
# doesnt work for S19 which uses the backup _x19_multicommand # doesn't work for S19 which uses the backup _x19_multicommand
command = "+".join(commands) command = "+".join(commands)
try: try:
data = await self.send_command(command) data = await self.send_command(command)
@@ -129,15 +129,15 @@ If you are sure you want to use this command please use API.send_command("{comma
command: Union[str, bytes], command: Union[str, bytes],
parameters: Union[str, int, bool] = None, parameters: Union[str, int, bool] = None,
ignore_errors: bool = False, ignore_errors: bool = False,
x19_command: bool = False, allow_warning: bool = True,
) -> dict: ) -> dict:
"""Send an API command to the miner and return the result. """Send an API command to the miner and return the result.
Parameters: Parameters:
command: The command to sent to the miner. command: The command to sent to the miner.
parameters: Any additional parameters to be sent with the command. parameters: Any additional parameters to be sent with the command.
ignore_errors: Whether or not to raise APIError when the command returns an error. ignore_errors: Whether to raise APIError when the command returns an error.
x19_command: Whether this is a command for an x19 that may be an issue (such as a "+" delimited multicommand) allow_warning: Whether to warn if the command fails.
Returns: Returns:
The return data from the API command parsed from JSON into a dict. The return data from the API command parsed from JSON into a dict.
@@ -157,7 +157,7 @@ If you are sure you want to use this command please use API.send_command("{comma
# validate the command succeeded # validate the command succeeded
validation = self._validate_command_output(data) validation = self._validate_command_output(data)
if not validation[0]: if not validation[0]:
if not x19_command: if allow_warning:
logging.warning( logging.warning(
f"{self.ip}: API Command Error: {command}: {validation[1]}" f"{self.ip}: API Command Error: {command}: {validation[1]}"
) )

View File

@@ -48,7 +48,7 @@ class BMMinerAPI(BaseMinerAPI):
# doesnt work for S19 which uses the backup _x19_multicommand # doesnt work for S19 which uses the backup _x19_multicommand
command = "+".join(commands) command = "+".join(commands)
try: try:
data = await self.send_command(command, x19_command=ignore_x19_error) data = await self.send_command(command, allow_warning=ignore_x19_error)
except APIError: except APIError:
logging.debug(f"{self.ip}: Handling X19 multicommand.") logging.debug(f"{self.ip}: Handling X19 multicommand.")
data = await self._x19_multicommand(*command.split("+")) data = await self._x19_multicommand(*command.split("+"))
@@ -62,7 +62,7 @@ class BMMinerAPI(BaseMinerAPI):
# send all commands individually # send all commands individually
for cmd in commands: for cmd in commands:
data[cmd] = [] data[cmd] = []
data[cmd].append(await self.send_command(cmd, x19_command=True)) data[cmd].append(await self.send_command(cmd, allow_warning=True))
except APIError as e: except APIError as e:
raise APIError(e) raise APIError(e)
except Exception as e: except Exception as e:

View File

@@ -767,7 +767,7 @@ class BTMinerAPI(BaseMinerAPI):
General miner info. General miner info.
</details> </details>
""" """
return await self.send_command("get_miner_info") return await self.send_command("get_miner_info", allow_warning=False)
async def get_error_code(self) -> dict: async def get_error_code(self) -> dict:
"""Get a list of error codes from the miner. """Get a list of error codes from the miner.
@@ -781,4 +781,4 @@ class BTMinerAPI(BaseMinerAPI):
A list of error codes on the miner. A list of error codes on the miner.
</details> </details>
""" """
return await self.send_command("get_error_code") return await self.send_command("get_error_code", allow_warning=False)