convert exception to debug log and check if on before update
This commit is contained in:
parent
daf2d6d63e
commit
591396895d
@ -1,7 +1,6 @@
|
|||||||
import asyncio
|
import asyncio
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
import paramiko
|
import paramiko
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
from custom_components.easy_computer_manager import LOGGER
|
from custom_components.easy_computer_manager import LOGGER
|
||||||
|
|
||||||
@ -59,24 +58,21 @@ class SSHClient:
|
|||||||
|
|
||||||
async def execute_command(self, command: str) -> tuple[int, str, str]:
|
async def execute_command(self, command: str) -> tuple[int, str, str]:
|
||||||
"""Execute a command on the SSH server asynchronously."""
|
"""Execute a command on the SSH server asynchronously."""
|
||||||
# if not self.is_connection_alive():
|
|
||||||
# await self.connect()
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
stdin, stdout, stderr = self._connection.exec_command(command)
|
stdin, stdout, stderr = self._connection.exec_command(command)
|
||||||
exit_status = stdout.channel.recv_exit_status()
|
exit_status = stdout.channel.recv_exit_status()
|
||||||
except (paramiko.SSHException, EOFError) as exc:
|
|
||||||
raise ValueError(f"Failed to execute command on {self.host}: {exc}")
|
|
||||||
|
|
||||||
return exit_status, stdout.read().decode(), stderr.read().decode()
|
return exit_status, stdout.read().decode(), stderr.read().decode()
|
||||||
|
except (paramiko.SSHException, EOFError) as exc:
|
||||||
|
LOGGER.debug(f"Failed to execute command on {self.host}: {exc}")
|
||||||
|
|
||||||
def is_connection_alive(self) -> bool:
|
def is_connection_alive(self) -> bool:
|
||||||
"""Check if the connection is still alive asynchronously."""
|
"""Check if the connection is still alive asynchronously."""
|
||||||
# use the code below if is_active() returns True
|
# use the code below if is_active() returns True
|
||||||
try:
|
if self._connection is None:
|
||||||
if self._connection is None:
|
return False
|
||||||
return False
|
|
||||||
|
|
||||||
|
try:
|
||||||
transport = self._connection.get_transport()
|
transport = self._connection.get_transport()
|
||||||
transport.send_ignore()
|
transport.send_ignore()
|
||||||
return True
|
return True
|
||||||
|
Loading…
Reference in New Issue
Block a user