summaryrefslogtreecommitdiff
path: root/kvmd/plugins
diff options
context:
space:
mode:
authorMaxim Devaev <[email protected]>2024-09-18 04:37:43 +0300
committerMaxim Devaev <[email protected]>2024-09-18 04:37:43 +0300
commit7a53f1445619fc471c2823e7081de8b6039b938e (patch)
tree961dd0072cc976504fe4570743d801c79512e9a6 /kvmd/plugins
parent45270a09d7b5076bac96887a1e36d752882e3adf (diff)
refactoring
Diffstat (limited to 'kvmd/plugins')
-rw-r--r--kvmd/plugins/atx/gpio.py16
-rw-r--r--kvmd/plugins/auth/http.py4
-rw-r--r--kvmd/plugins/auth/ldap.py8
-rw-r--r--kvmd/plugins/auth/radius.py8
-rw-r--r--kvmd/plugins/hid/_mcu/__init__.py46
-rw-r--r--kvmd/plugins/hid/_mcu/gpio.py22
-rw-r--r--kvmd/plugins/hid/_mcu/proto.py18
-rw-r--r--kvmd/plugins/hid/bt/server.py20
-rw-r--r--kvmd/plugins/hid/ch9329/__init__.py4
-rw-r--r--kvmd/plugins/hid/otg/device.py28
-rw-r--r--kvmd/plugins/hid/serial.py8
-rw-r--r--kvmd/plugins/hid/spi.py20
-rw-r--r--kvmd/plugins/msd/otg/drive.py4
-rw-r--r--kvmd/plugins/ugpio/anelpwr.py18
-rw-r--r--kvmd/plugins/ugpio/cmd.py4
-rw-r--r--kvmd/plugins/ugpio/cmdret.py4
-rw-r--r--kvmd/plugins/ugpio/extron.py4
-rw-r--r--kvmd/plugins/ugpio/ezcoo.py4
-rw-r--r--kvmd/plugins/ugpio/gpio.py18
-rw-r--r--kvmd/plugins/ugpio/hidrelay.py12
-rw-r--r--kvmd/plugins/ugpio/hue.py16
-rw-r--r--kvmd/plugins/ugpio/ipmi.py8
-rw-r--r--kvmd/plugins/ugpio/locator.py14
-rw-r--r--kvmd/plugins/ugpio/noyito.py12
-rw-r--r--kvmd/plugins/ugpio/pway.py4
-rw-r--r--kvmd/plugins/ugpio/pwm.py8
-rw-r--r--kvmd/plugins/ugpio/tesmart.py12
-rw-r--r--kvmd/plugins/ugpio/xh_hk4401.py4
28 files changed, 174 insertions, 174 deletions
diff --git a/kvmd/plugins/atx/gpio.py b/kvmd/plugins/atx/gpio.py
index 6df57bb3..538aafaf 100644
--- a/kvmd/plugins/atx/gpio.py
+++ b/kvmd/plugins/atx/gpio.py
@@ -76,7 +76,7 @@ class Plugin(BaseAtx): # pylint: disable=too-many-instance-attributes
self.__notifier = aiotools.AioNotifier()
self.__region = aiotools.AioExclusiveRegion(AtxIsBusyError, self.__notifier)
- self.__line_request: (gpiod.LineRequest | None) = None
+ self.__line_req: (gpiod.LineRequest | None) = None
self.__reader = aiogp.AioReader(
path=self.__device_path,
@@ -108,8 +108,8 @@ class Plugin(BaseAtx): # pylint: disable=too-many-instance-attributes
}
def sysprep(self) -> None:
- assert self.__line_request is None
- self.__line_request = gpiod.request_lines(
+ assert self.__line_req is None
+ self.__line_req = gpiod.request_lines(
self.__device_path,
consumer="kvmd::atx",
config={
@@ -143,9 +143,9 @@ class Plugin(BaseAtx): # pylint: disable=too-many-instance-attributes
await self.__reader.poll()
async def cleanup(self) -> None:
- if self.__line_request:
+ if self.__line_req:
try:
- self.__line_request.release()
+ self.__line_req.release()
except Exception:
pass
@@ -196,11 +196,11 @@ class Plugin(BaseAtx): # pylint: disable=too-many-instance-attributes
@aiotools.atomic_fg
async def __inner_click(self, name: str, pin: int, delay: float) -> None:
- assert self.__line_request
+ assert self.__line_req
try:
- self.__line_request.set_value(pin, gpiod.line.Value(True))
+ self.__line_req.set_value(pin, gpiod.line.Value(True))
await asyncio.sleep(delay)
finally:
- self.__line_request.set_value(pin, gpiod.line.Value(False))
+ self.__line_req.set_value(pin, gpiod.line.Value(False))
await asyncio.sleep(1)
get_logger(0).info("Clicked ATX button %r", name)
diff --git a/kvmd/plugins/auth/http.py b/kvmd/plugins/auth/http.py
index 520f64dc..b59218aa 100644
--- a/kvmd/plugins/auth/http.py
+++ b/kvmd/plugins/auth/http.py
@@ -85,8 +85,8 @@ class Plugin(BaseAuthService):
"User-Agent": htclient.make_user_agent("KVMD"),
"X-KVMD-User": user,
},
- ) as response:
- htclient.raise_not_200(response)
+ ) as resp:
+ htclient.raise_not_200(resp)
return True
except Exception:
get_logger().exception("Failed HTTP auth request for user %r", user)
diff --git a/kvmd/plugins/auth/ldap.py b/kvmd/plugins/auth/ldap.py
index fa6b9fff..961a47c7 100644
--- a/kvmd/plugins/auth/ldap.py
+++ b/kvmd/plugins/auth/ldap.py
@@ -100,10 +100,10 @@ class Plugin(BaseAuthService):
return True
except ldap.INVALID_CREDENTIALS:
pass
- except ldap.SERVER_DOWN as err:
- get_logger().error("LDAP server is down: %s", tools.efmt(err))
- except Exception as err:
- get_logger().error("Unexpected LDAP error: %s", tools.efmt(err))
+ except ldap.SERVER_DOWN as ex:
+ get_logger().error("LDAP server is down: %s", tools.efmt(ex))
+ except Exception as ex:
+ get_logger().error("Unexpected LDAP error: %s", tools.efmt(ex))
finally:
if conn is not None:
try:
diff --git a/kvmd/plugins/auth/radius.py b/kvmd/plugins/auth/radius.py
index 92c4632d..f048a2e6 100644
--- a/kvmd/plugins/auth/radius.py
+++ b/kvmd/plugins/auth/radius.py
@@ -435,10 +435,10 @@ class Plugin(BaseAuthService):
timeout=self.__timeout,
dict=dct,
)
- request = client.CreateAuthPacket(code=pyrad.packet.AccessRequest, User_Name=user)
- request["User-Password"] = request.PwCrypt(passwd)
- response = client.SendPacket(request)
- return (response.code == pyrad.packet.AccessAccept)
+ req = client.CreateAuthPacket(code=pyrad.packet.AccessRequest, User_Name=user)
+ req["User-Password"] = req.PwCrypt(passwd)
+ resp = client.SendPacket(req)
+ return (resp.code == pyrad.packet.AccessAccept)
except Exception:
get_logger().exception("Failed RADIUS auth request for user %r", user)
return False
diff --git a/kvmd/plugins/hid/_mcu/__init__.py b/kvmd/plugins/hid/_mcu/__init__.py
index 01411621..53665fb2 100644
--- a/kvmd/plugins/hid/_mcu/__init__.py
+++ b/kvmd/plugins/hid/_mcu/__init__.py
@@ -91,7 +91,7 @@ class _TempRequestError(_RequestError):
# =====
class BasePhyConnection:
- def send(self, request: bytes) -> bytes:
+ def send(self, req: bytes) -> bytes:
raise NotImplementedError
@@ -374,7 +374,7 @@ class BaseMcuHid(BaseHid, multiprocessing.Process): # pylint: disable=too-many-
self.__set_state_online(False)
return False
- def __process_request(self, conn: BasePhyConnection, request: bytes) -> bool: # pylint: disable=too-many-branches
+ def __process_request(self, conn: BasePhyConnection, req: bytes) -> bool: # pylint: disable=too-many-branches
logger = get_logger()
error_messages: list[str] = []
live_log_errors = False
@@ -384,47 +384,47 @@ class BaseMcuHid(BaseHid, multiprocessing.Process): # pylint: disable=too-many-
error_retval = False
while self.__gpio.is_powered() and common_retries and read_retries:
- response = (RESPONSE_LEGACY_OK if self.__noop else conn.send(request))
+ resp = (RESPONSE_LEGACY_OK if self.__noop else conn.send(req))
try:
- if len(response) < 4:
+ if len(resp) < 4:
read_retries -= 1
- raise _TempRequestError(f"No response from HID: request={request!r}")
+ raise _TempRequestError(f"No response from HID: request={req!r}")
- if not check_response(response):
- request = REQUEST_REPEAT
+ if not check_response(resp):
+ req = REQUEST_REPEAT
raise _TempRequestError("Invalid response CRC; requesting response again ...")
- code = response[1]
+ code = resp[1]
if code == 0x48: # Request timeout # pylint: disable=no-else-raise
- raise _TempRequestError(f"Got request timeout from HID: request={request!r}")
+ raise _TempRequestError(f"Got request timeout from HID: request={req!r}")
elif code == 0x40: # CRC Error
- raise _TempRequestError(f"Got CRC error of request from HID: request={request!r}")
+ raise _TempRequestError(f"Got CRC error of request from HID: request={req!r}")
elif code == 0x45: # Unknown command
- raise _PermRequestError(f"HID did not recognize the request={request!r}")
+ raise _PermRequestError(f"HID did not recognize the request={req!r}")
elif code == 0x24: # Rebooted?
raise _PermRequestError("No previous command state inside HID, seems it was rebooted")
elif code == 0x20: # Legacy done
self.__set_state_online(True)
return True
elif code & 0x80: # Pong/Done with state
- self.__set_state_pong(response)
+ self.__set_state_pong(resp)
return True
- raise _TempRequestError(f"Invalid response from HID: request={request!r}, response=0x{response!r}")
+ raise _TempRequestError(f"Invalid response from HID: request={req!r}, response=0x{resp!r}")
- except _RequestError as err:
+ except _RequestError as ex:
common_retries -= 1
if live_log_errors:
- logger.error(err.msg)
+ logger.error(ex.msg)
else:
- error_messages.append(err.msg)
+ error_messages.append(ex.msg)
if len(error_messages) > self.__errors_threshold:
for msg in error_messages:
logger.error(msg)
error_messages = []
live_log_errors = True
- if isinstance(err, _PermRequestError):
+ if isinstance(ex, _PermRequestError):
error_retval = True
break
@@ -440,7 +440,7 @@ class BaseMcuHid(BaseHid, multiprocessing.Process): # pylint: disable=too-many-
for msg in error_messages:
logger.error(msg)
if not (common_retries and read_retries):
- logger.error("Can't process HID request due many errors: %r", request)
+ logger.error("Can't process HID request due many errors: %r", req)
return error_retval
def __set_state_online(self, online: bool) -> None:
@@ -449,11 +449,11 @@ class BaseMcuHid(BaseHid, multiprocessing.Process): # pylint: disable=too-many-
def __set_state_busy(self, busy: bool) -> None:
self.__state_flags.update(busy=int(busy))
- def __set_state_pong(self, response: bytes) -> None:
- status = response[1] << 16
- if len(response) > 4:
- status |= (response[2] << 8) | response[3]
- reset_required = (1 if response[1] & 0b01000000 else 0)
+ def __set_state_pong(self, resp: bytes) -> None:
+ status = resp[1] << 16
+ if len(resp) > 4:
+ status |= (resp[2] << 8) | resp[3]
+ reset_required = (1 if resp[1] & 0b01000000 else 0)
self.__state_flags.update(online=1, busy=reset_required, status=status)
if reset_required:
if self.__reset_self:
diff --git a/kvmd/plugins/hid/_mcu/gpio.py b/kvmd/plugins/hid/_mcu/gpio.py
index 0afbcc69..ce1d678b 100644
--- a/kvmd/plugins/hid/_mcu/gpio.py
+++ b/kvmd/plugins/hid/_mcu/gpio.py
@@ -47,12 +47,12 @@ class Gpio: # pylint: disable=too-many-instance-attributes
self.__reset_inverted = reset_inverted
self.__reset_delay = reset_delay
- self.__line_request: (gpiod.LineRequest | None) = None
+ self.__line_req: (gpiod.LineRequest | None) = None
self.__last_power: (bool | None) = None
def __enter__(self) -> None:
if self.__power_detect_pin >= 0 or self.__reset_pin >= 0:
- assert self.__line_request is None
+ assert self.__line_req is None
config: dict[int, gpiod.LineSettings] = {}
if self.__power_detect_pin >= 0:
config[self.__power_detect_pin] = gpiod.LineSettings(
@@ -65,7 +65,7 @@ class Gpio: # pylint: disable=too-many-instance-attributes
output_value=gpiod.line.Value(self.__reset_inverted),
)
assert len(config) > 0
- self.__line_request = gpiod.request_lines(
+ self.__line_req = gpiod.request_lines(
self.__device_path,
consumer="kvmd::hid",
config=config,
@@ -78,18 +78,18 @@ class Gpio: # pylint: disable=too-many-instance-attributes
_tb: types.TracebackType,
) -> None:
- if self.__line_request:
+ if self.__line_req:
try:
- self.__line_request.release()
+ self.__line_req.release()
except Exception:
pass
self.__last_power = None
- self.__line_request = None
+ self.__line_req = None
def is_powered(self) -> bool:
if self.__power_detect_pin >= 0:
- assert self.__line_request
- power = bool(self.__line_request.get_value(self.__power_detect_pin).value)
+ assert self.__line_req
+ power = bool(self.__line_req.get_value(self.__power_detect_pin).value)
if power != self.__last_power:
get_logger(0).info("HID power state changed: %s -> %s", self.__last_power, power)
self.__last_power = power
@@ -98,11 +98,11 @@ class Gpio: # pylint: disable=too-many-instance-attributes
def reset(self) -> None:
if self.__reset_pin >= 0:
- assert self.__line_request
+ assert self.__line_req
try:
- self.__line_request.set_value(self.__reset_pin, gpiod.line.Value(not self.__reset_inverted))
+ self.__line_req.set_value(self.__reset_pin, gpiod.line.Value(not self.__reset_inverted))
time.sleep(self.__reset_delay)
finally:
- self.__line_request.set_value(self.__reset_pin, gpiod.line.Value(self.__reset_inverted))
+ self.__line_req.set_value(self.__reset_pin, gpiod.line.Value(self.__reset_inverted))
time.sleep(1)
get_logger(0).info("Reset HID performed")
diff --git a/kvmd/plugins/hid/_mcu/proto.py b/kvmd/plugins/hid/_mcu/proto.py
index 76cd5d09..deaf5c15 100644
--- a/kvmd/plugins/hid/_mcu/proto.py
+++ b/kvmd/plugins/hid/_mcu/proto.py
@@ -184,17 +184,17 @@ class MouseWheelEvent(BaseEvent):
# =====
-def check_response(response: bytes) -> bool:
- assert len(response) in (4, 8), response
- return (bitbang.make_crc16(response[:-2]) == struct.unpack(">H", response[-2:])[0])
+def check_response(resp: bytes) -> bool:
+ assert len(resp) in (4, 8), resp
+ return (bitbang.make_crc16(resp[:-2]) == struct.unpack(">H", resp[-2:])[0])
-def _make_request(command: bytes) -> bytes:
- assert len(command) == 5, command
- request = b"\x33" + command
- request += struct.pack(">H", bitbang.make_crc16(request))
- assert len(request) == 8, request
- return request
+def _make_request(cmd: bytes) -> bytes:
+ assert len(cmd) == 5, cmd
+ req = b"\x33" + cmd
+ req += struct.pack(">H", bitbang.make_crc16(req))
+ assert len(req) == 8, req
+ return req
# =====
diff --git a/kvmd/plugins/hid/bt/server.py b/kvmd/plugins/hid/bt/server.py
index 2b6a4307..ad2b6982 100644
--- a/kvmd/plugins/hid/bt/server.py
+++ b/kvmd/plugins/hid/bt/server.py
@@ -182,8 +182,8 @@ class BtServer: # pylint: disable=too-many-instance-attributes
self.__close_client("CTL", client, "ctl_sock")
elif data == b"\x71":
sock.send(b"\x00")
- except Exception as err:
- get_logger(0).exception("CTL socket error on %s: %s", client.addr, tools.efmt(err))
+ except Exception as ex:
+ get_logger(0).exception("CTL socket error on %s: %s", client.addr, tools.efmt(ex))
self.__close_client("CTL", client, "ctl_sock")
continue
@@ -196,8 +196,8 @@ class BtServer: # pylint: disable=too-many-instance-attributes
self.__close_client("INT", client, "int_sock")
elif data[:2] == b"\xA2\x01":
self.__process_leds(data[2])
- except Exception as err:
- get_logger(0).exception("INT socket error on %s: %s", client.addr, tools.efmt(err))
+ except Exception as ex:
+ get_logger(0).exception("INT socket error on %s: %s", client.addr, tools.efmt(ex))
self.__close_client("INT", client, "ctl_sock")
if qr in ready_read:
@@ -279,8 +279,8 @@ class BtServer: # pylint: disable=too-many-instance-attributes
assert client.int_sock is not None
try:
client.int_sock.send(report)
- except Exception as err:
- get_logger(0).info("Can't send %s report to %s: %s", name, client.addr, tools.efmt(err))
+ except Exception as ex:
+ get_logger(0).info("Can't send %s report to %s: %s", name, client.addr, tools.efmt(ex))
self.__close_client_pair(client)
def __clear_modifiers(self) -> None:
@@ -371,13 +371,13 @@ class BtServer: # pylint: disable=too-many-instance-attributes
logger.info("Publishing ..." if public else "Unpublishing ...")
try:
self.__iface.set_public(public)
- except Exception as err:
- logger.error("Can't change public mode: %s", tools.efmt(err))
+ except Exception as ex:
+ logger.error("Can't change public mode: %s", tools.efmt(ex))
def __unpair_client(self, client: _BtClient) -> None:
logger = get_logger(0)
logger.info("Unpairing %s ...", client.addr)
try:
self.__iface.unpair(client.addr)
- except Exception as err:
- logger.error("Can't unpair %s: %s", client.addr, tools.efmt(err))
+ except Exception as ex:
+ logger.error("Can't unpair %s: %s", client.addr, tools.efmt(ex))
diff --git a/kvmd/plugins/hid/ch9329/__init__.py b/kvmd/plugins/hid/ch9329/__init__.py
index 4e2be8c9..3245505d 100644
--- a/kvmd/plugins/hid/ch9329/__init__.py
+++ b/kvmd/plugins/hid/ch9329/__init__.py
@@ -230,9 +230,9 @@ class Plugin(BaseHid, multiprocessing.Process): # pylint: disable=too-many-inst
def __process_cmd(self, conn: ChipConnection, cmd: bytes) -> bool: # pylint: disable=too-many-branches
try:
led_byte = conn.xfer(cmd)
- except ChipResponseError as err:
+ except ChipResponseError as ex:
self.__set_state_online(False)
- get_logger(0).info(err)
+ get_logger(0).error("Invalid chip response: %s", tools.efmt(ex))
time.sleep(2)
else:
if led_byte >= 0:
diff --git a/kvmd/plugins/hid/otg/device.py b/kvmd/plugins/hid/otg/device.py
index dfab658d..a3bc2739 100644
--- a/kvmd/plugins/hid/otg/device.py
+++ b/kvmd/plugins/hid/otg/device.py
@@ -192,13 +192,13 @@ class BaseDeviceProcess(multiprocessing.Process): # pylint: disable=too-many-in
else:
logger.error("HID-%s write() error: written (%s) != report length (%d)",
self.__name, written, len(report))
- except Exception as err:
- if isinstance(err, OSError) and (
+ except Exception as ex:
+ if isinstance(ex, OSError) and (
# https://github.com/raspberrypi/linux/commit/61b7f805dc2fd364e0df682de89227e94ce88e25
- err.errno == errno.EAGAIN # pylint: disable=no-member
- or err.errno == errno.ESHUTDOWN # pylint: disable=no-member
+ ex.errno == errno.EAGAIN # pylint: disable=no-member
+ or ex.errno == errno.ESHUTDOWN # pylint: disable=no-member
):
- logger.debug("HID-%s busy/unplugged (write): %s", self.__name, tools.efmt(err))
+ logger.debug("HID-%s busy/unplugged (write): %s", self.__name, tools.efmt(ex))
else:
logger.exception("Can't write report to HID-%s", self.__name)
@@ -216,16 +216,16 @@ class BaseDeviceProcess(multiprocessing.Process): # pylint: disable=too-many-in
while read:
try:
read = bool(select.select([self.__fd], [], [], 0)[0])
- except Exception as err:
- logger.error("Can't select() for read HID-%s: %s", self.__name, tools.efmt(err))
+ except Exception as ex:
+ logger.error("Can't select() for read HID-%s: %s", self.__name, tools.efmt(ex))
break
if read:
try:
report = os.read(self.__fd, self.__read_size)
- except Exception as err:
- if isinstance(err, OSError) and err.errno == errno.EAGAIN: # pylint: disable=no-member
- logger.debug("HID-%s busy/unplugged (read): %s", self.__name, tools.efmt(err))
+ except Exception as ex:
+ if isinstance(ex, OSError) and ex.errno == errno.EAGAIN: # pylint: disable=no-member
+ logger.debug("HID-%s busy/unplugged (read): %s", self.__name, tools.efmt(ex))
else:
logger.exception("Can't read report from HID-%s", self.__name)
else:
@@ -255,9 +255,9 @@ class BaseDeviceProcess(multiprocessing.Process): # pylint: disable=too-many-in
flags = os.O_NONBLOCK
flags |= (os.O_RDWR if self.__read_size else os.O_WRONLY)
self.__fd = os.open(self.__device_path, flags)
- except Exception as err:
+ except Exception as ex:
logger.error("Can't open HID-%s device %s: %s",
- self.__name, self.__device_path, tools.efmt(err))
+ self.__name, self.__device_path, tools.efmt(ex))
if self.__fd >= 0:
try:
@@ -268,8 +268,8 @@ class BaseDeviceProcess(multiprocessing.Process): # pylint: disable=too-many-in
else:
# Если запись недоступна, то скорее всего устройство отключено
logger.debug("HID-%s is busy/unplugged (write select)", self.__name)
- except Exception as err:
- logger.error("Can't select() for write HID-%s: %s", self.__name, tools.efmt(err))
+ except Exception as ex:
+ logger.error("Can't select() for write HID-%s: %s", self.__name, tools.efmt(ex))
self.__state_flags.update(online=False)
return False
diff --git a/kvmd/plugins/hid/serial.py b/kvmd/plugins/hid/serial.py
index 4b8e6165..040828b4 100644
--- a/kvmd/plugins/hid/serial.py
+++ b/kvmd/plugins/hid/serial.py
@@ -44,12 +44,12 @@ class _SerialPhyConnection(BasePhyConnection):
def __init__(self, tty: serial.Serial) -> None:
self.__tty = tty
- def send(self, request: bytes) -> bytes:
- assert len(request) == 8
- assert request[0] == 0x33
+ def send(self, req: bytes) -> bytes:
+ assert len(req) == 8
+ assert req[0] == 0x33
if self.__tty.in_waiting:
self.__tty.read_all()
- assert self.__tty.write(request) == 8
+ assert self.__tty.write(req) == 8
data = self.__tty.read(4)
if len(data) == 4:
if data[0] == 0x34: # New response protocol
diff --git a/kvmd/plugins/hid/spi.py b/kvmd/plugins/hid/spi.py
index dadcc77e..cf58b5de 100644
--- a/kvmd/plugins/hid/spi.py
+++ b/kvmd/plugins/hid/spi.py
@@ -57,9 +57,9 @@ class _SpiPhyConnection(BasePhyConnection):
self.__xfer = xfer
self.__read_timeout = read_timeout
- def send(self, request: bytes) -> bytes:
- assert len(request) == 8
- assert request[0] == 0x33
+ def send(self, req: bytes) -> bytes:
+ assert len(req) == 8
+ assert req[0] == 0x33
deadline_ts = time.monotonic() + self.__read_timeout
dummy = b"\x00" * 10
@@ -70,26 +70,26 @@ class _SpiPhyConnection(BasePhyConnection):
get_logger(0).error("SPI timeout reached while garbage reading")
return b""
- self.__xfer(request)
+ self.__xfer(req)
- response: list[int] = []
+ resp: list[int] = []
deadline_ts = time.monotonic() + self.__read_timeout
found = False
while time.monotonic() < deadline_ts:
- for byte in self.__xfer(b"\x00" * (9 - len(response))):
+ for byte in self.__xfer(b"\x00" * (9 - len(resp))):
if not found:
if byte == 0:
continue
found = True
- response.append(byte)
- if len(response) == 8:
+ resp.append(byte)
+ if len(resp) == 8:
break
- if len(response) == 8:
+ if len(resp) == 8:
break
else:
get_logger(0).error("SPI timeout reached while responce waiting")
return b""
- return bytes(response)
+ return bytes(resp)
class _SpiPhy(BasePhy): # pylint: disable=too-many-instance-attributes
diff --git a/kvmd/plugins/msd/otg/drive.py b/kvmd/plugins/msd/otg/drive.py
index 1bae91e5..825354a5 100644
--- a/kvmd/plugins/msd/otg/drive.py
+++ b/kvmd/plugins/msd/otg/drive.py
@@ -82,7 +82,7 @@ class Drive:
try:
with open(os.path.join(self.__lun_path, param), "w") as file:
file.write(value + "\n")
- except OSError as err:
- if err.errno == errno.EBUSY:
+ except OSError as ex:
+ if ex.errno == errno.EBUSY:
raise MsdDriveLockedError()
raise
diff --git a/kvmd/plugins/ugpio/anelpwr.py b/kvmd/plugins/ugpio/anelpwr.py
index a9cc432b..af83f0a2 100644
--- a/kvmd/plugins/ugpio/anelpwr.py
+++ b/kvmd/plugins/ugpio/anelpwr.py
@@ -113,13 +113,13 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute
while True:
session = self.__ensure_http_session()
try:
- async with session.get(f"{self.__url}/strg.cfg") as response:
- htclient.raise_not_200(response)
- parts = (await response.text()).split(";")
+ async with session.get(f"{self.__url}/strg.cfg") as resp:
+ htclient.raise_not_200(resp)
+ parts = (await resp.text()).split(";")
for pin in self.__state:
self.__state[pin] = (parts[1 + int(pin) * 5] == "1")
- except Exception as err:
- get_logger().error("Failed ANELPWR bulk GET request: %s", tools.efmt(err))
+ except Exception as ex:
+ get_logger().error("Failed ANELPWR bulk GET request: %s", tools.efmt(ex))
self.__state = dict.fromkeys(self.__state, None)
if self.__state != prev_state:
self._notifier.notify()
@@ -143,10 +143,10 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute
url=f"{self.__url}/ctrl.htm",
data=f"F{pin}={int(state)}",
headers={"Content-Type": "text/plain"},
- ) as response:
- htclient.raise_not_200(response)
- except Exception as err:
- get_logger().error("Failed ANELPWR POST request to pin %s: %s", pin, tools.efmt(err))
+ ) as resp:
+ htclient.raise_not_200(resp)
+ except Exception as ex:
+ get_logger().error("Failed ANELPWR POST request to pin %s: %s", pin, tools.efmt(ex))
raise GpioDriverOfflineError(self)
self.__update_notifier.notify()
diff --git a/kvmd/plugins/ugpio/cmd.py b/kvmd/plugins/ugpio/cmd.py
index c3392b68..b8581ce3 100644
--- a/kvmd/plugins/ugpio/cmd.py
+++ b/kvmd/plugins/ugpio/cmd.py
@@ -78,9 +78,9 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute
proc = await aioproc.log_process(self.__cmd, logger=get_logger(0), prefix=str(self))
if proc.returncode != 0:
raise RuntimeError(f"Custom command error: retcode={proc.returncode}")
- except Exception as err:
+ except Exception as ex:
get_logger(0).error("Can't run custom command [ %s ]: %s",
- tools.cmdfmt(self.__cmd), tools.efmt(err))
+ tools.cmdfmt(self.__cmd), tools.efmt(ex))
raise GpioDriverOfflineError(self)
def __str__(self) -> str:
diff --git a/kvmd/plugins/ugpio/cmdret.py b/kvmd/plugins/ugpio/cmdret.py
index 0eea78f6..7080a390 100644
--- a/kvmd/plugins/ugpio/cmdret.py
+++ b/kvmd/plugins/ugpio/cmdret.py
@@ -71,9 +71,9 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute
try:
proc = await aioproc.log_process(self.__cmd, logger=get_logger(0), prefix=str(self))
return (proc.returncode == 0)
- except Exception as err:
+ except Exception as ex:
get_logger(0).error("Can't run custom command [ %s ]: %s",
- tools.cmdfmt(self.__cmd), tools.efmt(err))
+ tools.cmdfmt(self.__cmd), tools.efmt(ex))
raise GpioDriverOfflineError(self)
async def write(self, pin: str, state: bool) -> None:
diff --git a/kvmd/plugins/ugpio/extron.py b/kvmd/plugins/ugpio/extron.py
index cb9fe96e..81a66c92 100644
--- a/kvmd/plugins/ugpio/extron.py
+++ b/kvmd/plugins/ugpio/extron.py
@@ -150,9 +150,9 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute
assert channel is not None
self.__send_channel(tty, channel)
- except Exception as err:
+ except Exception as ex:
self.__channel_queue.put_nowait(None)
- if isinstance(err, serial.SerialException) and err.errno == errno.ENOENT: # pylint: disable=no-member
+ if isinstance(ex, serial.SerialException) and ex.errno == errno.ENOENT: # pylint: disable=no-member
logger.error("Missing %s serial device: %s", self, self.__device_path)
else:
logger.exception("Unexpected %s error", self)
diff --git a/kvmd/plugins/ugpio/ezcoo.py b/kvmd/plugins/ugpio/ezcoo.py
index c3502a61..d5bd8ef8 100644
--- a/kvmd/plugins/ugpio/ezcoo.py
+++ b/kvmd/plugins/ugpio/ezcoo.py
@@ -150,9 +150,9 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute
assert channel is not None
self.__send_channel(tty, channel)
- except Exception as err:
+ except Exception as ex:
self.__channel_queue.put_nowait(None)
- if isinstance(err, serial.SerialException) and err.errno == errno.ENOENT: # pylint: disable=no-member
+ if isinstance(ex, serial.SerialException) and ex.errno == errno.ENOENT: # pylint: disable=no-member
logger.error("Missing %s serial device: %s", self, self.__device_path)
else:
logger.exception("Unexpected %s error", self)
diff --git a/kvmd/plugins/ugpio/gpio.py b/kvmd/plugins/ugpio/gpio.py
index 1ae1fbe0..6cda826b 100644
--- a/kvmd/plugins/ugpio/gpio.py
+++ b/kvmd/plugins/ugpio/gpio.py
@@ -54,7 +54,7 @@ class Plugin(BaseUserGpioDriver):
self.__output_pins: dict[int, (bool | None)] = {}
self.__reader: (aiogp.AioReader | None) = None
- self.__outputs_request: (gpiod.LineRequest | None) = None
+ self.__outputs_req: (gpiod.LineRequest | None) = None
@classmethod
def get_plugin_options(cls) -> dict:
@@ -74,7 +74,7 @@ class Plugin(BaseUserGpioDriver):
def prepare(self) -> None:
assert self.__reader is None
- assert self.__outputs_request is None
+ assert self.__outputs_req is None
self.__reader = aiogp.AioReader(
path=self.__device_path,
consumer="kvmd::gpio::inputs",
@@ -82,7 +82,7 @@ class Plugin(BaseUserGpioDriver):
notifier=self._notifier,
)
if self.__output_pins:
- self.__outputs_request = gpiod.request_lines(
+ self.__outputs_req = gpiod.request_lines(
self.__device_path,
consumer="kvmd::gpiod::outputs",
config={
@@ -99,9 +99,9 @@ class Plugin(BaseUserGpioDriver):
await self.__reader.poll()
async def cleanup(self) -> None:
- if self.__outputs_request:
+ if self.__outputs_req:
try:
- self.__outputs_request.release()
+ self.__outputs_req.release()
except Exception:
pass
@@ -110,15 +110,15 @@ class Plugin(BaseUserGpioDriver):
pin_int = int(pin)
if pin_int in self.__input_pins:
return self.__reader.get(pin_int)
- assert self.__outputs_request
+ assert self.__outputs_req
assert pin_int in self.__output_pins
- return bool(self.__outputs_request.get_value(pin_int).value)
+ return bool(self.__outputs_req.get_value(pin_int).value)
async def write(self, pin: str, state: bool) -> None:
- assert self.__outputs_request
+ assert self.__outputs_req
pin_int = int(pin)
assert pin_int in self.__output_pins
- self.__outputs_request.set_value(pin_int, gpiod.line.Value(state))
+ self.__outputs_req.set_value(pin_int, gpiod.line.Value(state))
def __str__(self) -> str:
return f"GPIO({self._instance_name})"
diff --git a/kvmd/plugins/ugpio/hidrelay.py b/kvmd/plugins/ugpio/hidrelay.py
index 894da42c..17f41e27 100644
--- a/kvmd/plugins/ugpio/hidrelay.py
+++ b/kvmd/plugins/ugpio/hidrelay.py
@@ -93,9 +93,9 @@ class Plugin(BaseUserGpioDriver):
try:
with self.__ensure_device("probing"):
pass
- except Exception as err:
+ except Exception as ex:
logger.error("Can't probe %s on %s: %s",
- self, self.__device_path, tools.efmt(err))
+ self, self.__device_path, tools.efmt(ex))
self.__reset_pins()
async def run(self) -> None:
@@ -137,9 +137,9 @@ class Plugin(BaseUserGpioDriver):
pin, state, self, self.__device_path)
try:
self.__inner_write(pin, state)
- except Exception as err:
+ except Exception as ex:
logger.error("Can't reset pin=%d of %s on %s: %s",
- pin, self, self.__device_path, tools.efmt(err))
+ pin, self, self.__device_path, tools.efmt(ex))
def __inner_read(self, pin: int) -> bool:
assert 0 <= pin <= 7
@@ -168,9 +168,9 @@ class Plugin(BaseUserGpioDriver):
get_logger(0).info("Opened %s on %s while %s", self, self.__device_path, context)
try:
yield self.__device
- except Exception as err:
+ except Exception as ex:
get_logger(0).error("Error occured on %s on %s while %s: %s",
- self, self.__device_path, context, tools.efmt(err))
+ self, self.__device_path, context, tools.efmt(ex))
self.__close_device()
raise
diff --git a/kvmd/plugins/ugpio/hue.py b/kvmd/plugins/ugpio/hue.py
index 2c0e6749..9ed9e206 100644
--- a/kvmd/plugins/ugpio/hue.py
+++ b/kvmd/plugins/ugpio/hue.py
@@ -111,13 +111,13 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute
while True:
session = self.__ensure_http_session()
try:
- async with session.get(f"{self.__url}/api/{self.__token}/lights") as response:
- results = await response.json()
+ async with session.get(f"{self.__url}/api/{self.__token}/lights") as resp:
+ results = await resp.json()
for pin in self.__state:
if pin in results:
self.__state[pin] = bool(results[pin]["state"]["on"])
- except Exception as err:
- get_logger().error("Failed Hue bulk GET request: %s", tools.efmt(err))
+ except Exception as ex:
+ get_logger().error("Failed Hue bulk GET request: %s", tools.efmt(ex))
self.__state = dict.fromkeys(self.__state, None)
if self.__state != prev_state:
self._notifier.notify()
@@ -140,10 +140,10 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute
async with session.put(
url=f"{self.__url}/api/{self.__token}/lights/{pin}/state",
json={"on": state},
- ) as response:
- htclient.raise_not_200(response)
- except Exception as err:
- get_logger().error("Failed Hue PUT request to pin %s: %s", pin, tools.efmt(err))
+ ) as resp:
+ htclient.raise_not_200(resp)
+ except Exception as ex:
+ get_logger().error("Failed Hue PUT request to pin %s: %s", pin, tools.efmt(ex))
raise GpioDriverOfflineError(self)
self.__update_notifier.notify()
diff --git a/kvmd/plugins/ugpio/ipmi.py b/kvmd/plugins/ugpio/ipmi.py
index 8aec6c3d..37a7a16f 100644
--- a/kvmd/plugins/ugpio/ipmi.py
+++ b/kvmd/plugins/ugpio/ipmi.py
@@ -153,9 +153,9 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute
proc = await aioproc.log_process(**self.__make_ipmitool_kwargs(action), logger=get_logger(0), prefix=str(self))
if proc.returncode != 0:
raise RuntimeError(f"Ipmitool error: retcode={proc.returncode}")
- except Exception as err:
+ except Exception as ex:
get_logger(0).error("Can't send IPMI power-%s request to %s:%d: %s",
- action, self.__host, self.__port, tools.efmt(err))
+ action, self.__host, self.__port, tools.efmt(ex))
raise GpioDriverOfflineError(self)
# =====
@@ -171,9 +171,9 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute
self.__online = True
return
raise RuntimeError(f"Invalid ipmitool response: {text}")
- except Exception as err:
+ except Exception as ex:
get_logger(0).error("Can't fetch IPMI power status from %s:%d: %s",
- self.__host, self.__port, tools.efmt(err))
+ self.__host, self.__port, tools.efmt(ex))
self.__power = False
self.__online = False
diff --git a/kvmd/plugins/ugpio/locator.py b/kvmd/plugins/ugpio/locator.py
index f42116a7..d5cba719 100644
--- a/kvmd/plugins/ugpio/locator.py
+++ b/kvmd/plugins/ugpio/locator.py
@@ -53,7 +53,7 @@ class Plugin(BaseUserGpioDriver):
self.__device_path = device_path
self.__tasks: dict[int, (asyncio.Task | None)] = {}
- self.__line_request: (gpiod.LineRequest | None) = None
+ self.__line_req: (gpiod.LineRequest | None) = None
@classmethod
def get_plugin_options(cls) -> dict:
@@ -74,7 +74,7 @@ class Plugin(BaseUserGpioDriver):
self.__tasks[int(pin)] = None
def prepare(self) -> None:
- self.__line_request = gpiod.request_lines(
+ self.__line_req = gpiod.request_lines(
self.__device_path,
consumer="kvmd::locator",
config={
@@ -94,9 +94,9 @@ class Plugin(BaseUserGpioDriver):
for task in tasks:
task.cancel()
await asyncio.gather(*tasks, return_exceptions=True)
- if self.__line_request:
+ if self.__line_req:
try:
- self.__line_request.release()
+ self.__line_req.release()
except Exception:
pass
@@ -115,17 +115,17 @@ class Plugin(BaseUserGpioDriver):
async def __blink(self, pin: int) -> None:
assert pin in self.__tasks
- assert self.__line_request
+ assert self.__line_req
try:
state = True
while True:
- self.__line_request.set_value(pin, gpiod.line.Value(state))
+ self.__line_req.set_value(pin, gpiod.line.Value(state))
state = (not state)
await asyncio.sleep(0.1)
except asyncio.CancelledError:
pass
finally:
- self.__line_request.set_value(pin, gpiod.line.Value(False))
+ self.__line_req.set_value(pin, gpiod.line.Value(False))
def __str__(self) -> str:
return f"Locator({self._instance_name})"
diff --git a/kvmd/plugins/ugpio/noyito.py b/kvmd/plugins/ugpio/noyito.py
index f3c04a57..7363e2d4 100644
--- a/kvmd/plugins/ugpio/noyito.py
+++ b/kvmd/plugins/ugpio/noyito.py
@@ -91,9 +91,9 @@ class Plugin(BaseUserGpioDriver):
try:
with self.__ensure_device("probing"):
pass
- except Exception as err:
+ except Exception as ex:
logger.error("Can't probe %s on %s: %s",
- self, self.__device_path, tools.efmt(err))
+ self, self.__device_path, tools.efmt(ex))
self.__reset_pins()
async def cleanup(self) -> None:
@@ -119,9 +119,9 @@ class Plugin(BaseUserGpioDriver):
pin, state, self, self.__device_path)
try:
self.__inner_write(pin, state)
- except Exception as err:
+ except Exception as ex:
logger.error("Can't reset pin=%d of %s on %s: %s",
- pin, self, self.__device_path, tools.efmt(err))
+ pin, self, self.__device_path, tools.efmt(ex))
def __inner_write(self, pin: int, state: bool) -> None:
assert 0 <= pin <= 7
@@ -144,9 +144,9 @@ class Plugin(BaseUserGpioDriver):
get_logger(0).info("Opened %s on %s while %s", self, self.__device_path, context)
try:
yield self.__device
- except Exception as err:
+ except Exception as ex:
get_logger(0).error("Error occured on %s on %s while %s: %s",
- self, self.__device_path, context, tools.efmt(err))
+ self, self.__device_path, context, tools.efmt(ex))
self.__close_device()
raise
diff --git a/kvmd/plugins/ugpio/pway.py b/kvmd/plugins/ugpio/pway.py
index 25a1f454..140cf02a 100644
--- a/kvmd/plugins/ugpio/pway.py
+++ b/kvmd/plugins/ugpio/pway.py
@@ -153,9 +153,9 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute
assert channel is not None
self.__send_channel(tty, channel)
- except Exception as err:
+ except Exception as ex:
self.__channel_queue.put_nowait(None)
- if isinstance(err, serial.SerialException) and err.errno == errno.ENOENT: # pylint: disable=no-member
+ if isinstance(ex, serial.SerialException) and ex.errno == errno.ENOENT: # pylint: disable=no-member
logger.error("Missing %s serial device: %s", self, self.__device_path)
else:
logger.exception("Unexpected %s error", self)
diff --git a/kvmd/plugins/ugpio/pwm.py b/kvmd/plugins/ugpio/pwm.py
index 8aedb771..f202836e 100644
--- a/kvmd/plugins/ugpio/pwm.py
+++ b/kvmd/plugins/ugpio/pwm.py
@@ -94,18 +94,18 @@ class Plugin(BaseUserGpioDriver):
pwm.period_ns = self.__period
pwm.duty_cycle_ns = self.__get_duty_cycle(bool(initial))
pwm.enable()
- except Exception as err:
+ except Exception as ex:
logger.error("Can't get PWM chip %d channel %d: %s",
- self.__chip, pin, tools.efmt(err))
+ self.__chip, pin, tools.efmt(ex))
async def cleanup(self) -> None:
for (pin, pwm) in self.__pwms.items():
try:
pwm.disable()
pwm.close()
- except Exception as err:
+ except Exception as ex:
get_logger(0).error("Can't cleanup PWM chip %d channel %d: %s",
- self.__chip, pin, tools.efmt(err))
+ self.__chip, pin, tools.efmt(ex))
async def read(self, pin: str) -> bool:
try:
diff --git a/kvmd/plugins/ugpio/tesmart.py b/kvmd/plugins/ugpio/tesmart.py
index 5a5cd441..bb1d39e1 100644
--- a/kvmd/plugins/ugpio/tesmart.py
+++ b/kvmd/plugins/ugpio/tesmart.py
@@ -146,9 +146,9 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute
asyncio.ensure_future(self.__reader.readexactly(6)),
timeout=self.__timeout,
))[4]
- except Exception as err:
+ except Exception as ex:
get_logger(0).error("Can't send command to TESmart KVM [%s]:%d: %s",
- self.__host, self.__port, tools.efmt(err))
+ self.__host, self.__port, tools.efmt(ex))
await self.__close_device()
self.__active = -1
raise GpioDriverOfflineError(self)
@@ -168,9 +168,9 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute
asyncio.ensure_future(asyncio.open_connection(self.__host, self.__port)),
timeout=self.__timeout,
)
- except Exception as err:
+ except Exception as ex:
get_logger(0).error("Can't connect to TESmart KVM [%s]:%d: %s",
- self.__host, self.__port, tools.efmt(err))
+ self.__host, self.__port, tools.efmt(ex))
raise GpioDriverOfflineError(self)
async def __ensure_device_serial(self) -> None:
@@ -179,9 +179,9 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute
serial_asyncio.open_serial_connection(url=self.__device_path, baudrate=self.__speed),
timeout=self.__timeout,
)
- except Exception as err:
+ except Exception as ex:
get_logger(0).error("Can't connect to TESmart KVM [%s]:%d: %s",
- self.__device_path, self.__speed, tools.efmt(err))
+ self.__device_path, self.__speed, tools.efmt(ex))
raise GpioDriverOfflineError(self)
async def __close_device(self) -> None:
diff --git a/kvmd/plugins/ugpio/xh_hk4401.py b/kvmd/plugins/ugpio/xh_hk4401.py
index 7e064df9..d7a47679 100644
--- a/kvmd/plugins/ugpio/xh_hk4401.py
+++ b/kvmd/plugins/ugpio/xh_hk4401.py
@@ -157,9 +157,9 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute
if self.__protocol == 2:
self.__channel_queue.put_nowait(channel)
- except Exception as err:
+ except Exception as ex:
self.__channel_queue.put_nowait(None)
- if isinstance(err, serial.SerialException) and err.errno == errno.ENOENT: # pylint: disable=no-member
+ if isinstance(ex, serial.SerialException) and ex.errno == errno.ENOENT: # pylint: disable=no-member
logger.error("Missing %s serial device: %s", self, self.__device_path)
else:
logger.exception("Unexpected %s error", self)