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
+9 -4
View File
@@ -1,5 +1,8 @@
from __future__ import annotations
import json
from datetime import datetime
from typing import Any
import pytz
@@ -17,15 +20,17 @@ class XOTA(WebsocketSpotProvider):
is why we also provide a sig_ref_prefix in our config. This is applied to the reference ID, so e.g. "T-01" at C3
might become "C3 T-01". This allows us to provide location lookups for TOTA at several conferences."""
ACTIVITY = None
ACTIVITY: str | None = None
def __init__(self, provider_config):
def __init__(self, provider_config: dict[str, Any]) -> None:
name = provider_config.get("name", "xOTA")
super().__init__(name, provider_config, provider_config["url"])
self.ACTIVITY = str(provider_config["sig"]) if "sig" in provider_config else None
self._activity_ref_prefix = str(provider_config["sig_ref_prefix"]) if "sig_ref_prefix" in provider_config else ""
self._activity_ref_prefix: str = (
str(provider_config["sig_ref_prefix"]) if "sig_ref_prefix" in provider_config else ""
)
def _ws_message_to_spot(self, b):
def _ws_message_to_spot(self, b: str | bytes) -> Spot | None:
string = b.decode("utf-8")
source_spot = json.loads(string)
ref_id = f"{self._activity_ref_prefix} {source_spot['reference']['title']}"