added ruff code reivew
This commit is contained in:
+16
-9
@@ -46,7 +46,7 @@ import os
|
||||
import shlex
|
||||
import sys
|
||||
from pathlib import Path
|
||||
from typing import Optional, Union
|
||||
from typing import Union
|
||||
|
||||
os.environ.setdefault("OPENCV_VIDEOIO_MSMF_ENABLE_HW_TRANSFORMS", "0")
|
||||
|
||||
@@ -60,13 +60,14 @@ except ImportError as exc: # pragma: no cover
|
||||
) from exc
|
||||
|
||||
import cv2
|
||||
|
||||
from orisys.capture import is_live_camera, list_cameras
|
||||
from orisys.finger import FingerRuntime
|
||||
|
||||
Source = Union[int, str]
|
||||
|
||||
|
||||
def _parse_source(token: str) -> Optional[Source]:
|
||||
def _parse_source(token: str) -> Source | None:
|
||||
"""Accept camera index int, numeric string, V4L path, or filesystem path."""
|
||||
text = str(token).strip().strip('"').strip("'")
|
||||
if not text:
|
||||
@@ -116,9 +117,9 @@ class UartFingerController:
|
||||
self.show = show
|
||||
self.verbose = verbose
|
||||
|
||||
self.runtime: Optional[FingerRuntime] = None
|
||||
self._connected_source: Optional[Source] = None
|
||||
self._last_search_source: Optional[Source] = None
|
||||
self.runtime: FingerRuntime | None = None
|
||||
self._connected_source: Source | None = None
|
||||
self._last_search_source: Source | None = None
|
||||
self._streaming = False
|
||||
self._should_quit = False
|
||||
|
||||
@@ -134,14 +135,18 @@ class UartFingerController:
|
||||
if self.runtime is not None:
|
||||
try:
|
||||
self.runtime.close()
|
||||
except Exception: # noqa: BLE001
|
||||
except Exception: # noqa: BLE001, S110 - teardown must not raise
|
||||
# Best-effort release: a close failure here has no recovery path in
|
||||
# a shutdown request handler, and raising would skip the reset below.
|
||||
pass
|
||||
self.runtime = None
|
||||
self._connected_source = None
|
||||
if self.show:
|
||||
try:
|
||||
cv2.destroyAllWindows()
|
||||
except Exception: # noqa: BLE001
|
||||
except Exception: # noqa: BLE001, S110 - no GUI window to destroy
|
||||
# Expected when no window was ever created (headless/--no-show run):
|
||||
# this is a normal no-op, not a hidden failure.
|
||||
pass
|
||||
|
||||
def _resolve_connect_source(self, args: list[str]) -> Source:
|
||||
@@ -220,7 +225,7 @@ class UartFingerController:
|
||||
except Exception: # noqa: BLE001
|
||||
return False
|
||||
|
||||
def _poll_command_line(self, *, blocking: bool = True) -> Optional[str]:
|
||||
def _poll_command_line(self, *, blocking: bool = True) -> str | None:
|
||||
"""Read one command line if available; return None on timeout/empty."""
|
||||
if not blocking and self.ser.in_waiting <= 0:
|
||||
return None
|
||||
@@ -447,7 +452,9 @@ def main(argv: list[str] | None = None) -> int:
|
||||
print("\nInterrupted.", flush=True)
|
||||
try:
|
||||
controller.reply("OK quit")
|
||||
except Exception: # noqa: BLE001
|
||||
except Exception: # noqa: BLE001, S110 - peer may already be gone
|
||||
# We are already shutting down on Ctrl-C; failing to send the final
|
||||
# acknowledgement (peer closed the port) must not mask the exit path.
|
||||
pass
|
||||
finally:
|
||||
controller.close_runtime()
|
||||
|
||||
Reference in New Issue
Block a user