Autogenerated type safety parameterisation of all methods

This commit is contained in:
Ian Renton
2026-09-20 20:02:19 +01:00
parent 6037e742cc
commit 324dd1414b
132 changed files with 1228 additions and 706 deletions
+13 -10
View File
@@ -1,16 +1,19 @@
from __future__ import annotations
import logging
import re
import socket
from datetime import datetime
from threading import Event, Lock, Thread
from typing import Any
import pytz
import telnetlib3
from core.config import SERVER_OWNER_CALLSIGN
from core.utils import decode_telnet_bytes
from data.spot import Spot
from providers.spot.spot_provider import SpotProvider
from core.utils import decode_telnet_bytes
logger = logging.getLogger(__name__)
@@ -24,22 +27,22 @@ class RBN(SpotProvider):
re.IGNORECASE,
)
def __init__(self, provider_config):
def __init__(self, provider_config: dict[str, Any]) -> None:
"""Constructor requires port number."""
name = provider_config.get("name", "RBN")
super().__init__(name, provider_config)
self._port = provider_config["port"]
self._telnet = None
self._telnet_lock = Lock()
self._thread = None
self._stop_event = Event()
self._port: int = provider_config["port"]
self._telnet: telnetlib3.Telnet | None = None
self._telnet_lock: Lock = Lock()
self._thread: Thread | None = None
self._stop_event: Event = Event()
def start(self):
def start(self) -> None:
self._thread = Thread(target=self._handle, name=f"RBNSpotProvider-{self.name}", daemon=True)
self._thread.start()
def stop(self):
def stop(self) -> None:
self._stop_event.set()
with self._telnet_lock:
if self._telnet:
@@ -53,7 +56,7 @@ class RBN(SpotProvider):
if self._thread.is_alive():
logger.warning(f"RBN (port {self._port!s}) worker thread did not exit on time and will be killed.")
def _handle(self):
def _handle(self) -> None:
while not self._stop_event.is_set():
connected = False
while not connected and not self._stop_event.is_set():