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
+11 -8
View File
@@ -1,3 +1,5 @@
from __future__ import annotations
import logging
import re
import threading
@@ -11,6 +13,7 @@ from tornado.web import Application
from core.activity_utils import get_ref_regex_for_activity
from core.config import ALLOW_SPOTTING, ALLOW_UPSTREAM_SPOTTING, RECAPTCHA_SECRET_KEY
from core.constants import UNKNOWN_BAND
from core.live_data_cache import LiveDataCache
from core.utils import infer_band_from_freq, safe_json_dumps
from data.spot import Spot
from providers.spot.spot_provider import SpotProvider
@@ -25,19 +28,19 @@ class APISpotHandler(tornado.web.RequestHandler):
def __init__(
self,
application: "Application",
application: Application,
request: httputil.HTTPServerRequest,
**kwargs: Any,
):
self._spots = None
self._spot_providers = None
) -> None:
self._spots: LiveDataCache | None = None
self._spot_providers: list[SpotProvider] | None = None
super().__init__(application, request, **kwargs)
def initialize(self, spots, spot_providers=None):
def initialize(self, spots: LiveDataCache, spot_providers: list[SpotProvider] | None = None) -> None:
self._spots = spots
self._spot_providers = spot_providers or []
def post(self):
def post(self) -> None:
try:
# Reject if not allowed
if not ALLOW_SPOTTING:
@@ -241,7 +244,7 @@ class APISpotHandler(tornado.web.RequestHandler):
self.set_header("Cache-Control", "no-store")
self.set_header("Content-Type", "application/json")
def _find_provider(self, provider_name, activity) -> SpotProvider | None:
def _find_provider(self, provider_name: str, activity: str) -> SpotProvider | None:
"""Find an enabled provider by name that can submit spots for the given activity."""
for p in self._spot_providers:
@@ -250,7 +253,7 @@ class APISpotHandler(tornado.web.RequestHandler):
return None
@staticmethod
def _verify_recaptcha(token):
def _verify_recaptcha(token: str) -> bool:
"""Verify a Google reCAPTCHA v2 token. Returns True if valid."""
try: