Add all local circuit work — year-by-year SVGs and tooling

This commit is contained in:
2026-03-25 22:17:47 +01:00
parent 6ceeba7fb9
commit c94ebcfb22
1149 changed files with 171650 additions and 421 deletions
+29
View File
@@ -0,0 +1,29 @@
from dataclasses import dataclass
from typing import Optional, Dict, Any, TYPE_CHECKING
if TYPE_CHECKING:
from models.circuit import Circuit
@dataclass
class GeoJSONProperties:
id: str
country: str
locality: str
circuit: str
length: Optional[int] = None
altitude: Optional[int] = None
rotation: Optional[float] = None
direction: Optional[str] = None
fastest_laptime: Optional[float] = None
@classmethod
def from_dict(cls, circuit: 'Circuit', data: Dict[str, Any]) -> 'GeoJSONProperties':
return cls(
id=data.get("id"),
country=circuit.locality.country.name,
locality=circuit.locality.name,
circuit=circuit.name,
**{k: v for k, v in data.items() if
k in cls.__annotations__ and k not in ['id', 'country', 'locality',
'circuit']}
)