mirror of
https://git.ianrenton.com/ian/spothole.git
synced 2026-06-25 22:25:12 +00:00
22 lines
1.2 KiB
Python
22 lines
1.2 KiB
Python
from dataclasses import dataclass, field
|
|
|
|
|
|
@dataclass
|
|
class SIG:
|
|
"""Data class that defines a Special Interest Group. Each contains a name and a longer form description.
|
|
They also contain comment_names which attempts to separate out the way people might refer to it in
|
|
cluster comments from how it is referred to in the UI & API. (For example, "TOTA" in cluster spot comments
|
|
almost always means Towers on the Air, but no single programme is referred to in the UI as "TOTA" as
|
|
it's ambiguous between Towers, Toilets and Tiles. And while Beaches got the name "BOTA" first, "BOTA" spots
|
|
are much more likely to be bunkers.) Finally, there is a ref_regex which provides a regular expression to
|
|
match what references (such as parks and summits) look like for that programme."""
|
|
|
|
# SIG name as used in the UI and API, e.g. "Towers"
|
|
name: str
|
|
# Description, e.g. "Towers on the Air"
|
|
description: str
|
|
# SIG names as they might appear in cluster spot comments, e.g. ["TOTA"]
|
|
comment_names: list[str] = field(default_factory=list)
|
|
# Regex matcher for references, e.g. for POTA r"[A-Z]{2}\-\d+".
|
|
ref_regex: str | None = None
|