bug: fix warnings when new whatsminer API commands don't exist.
This commit is contained in:
@@ -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]}"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user