1.9 KiB
1.9 KiB
Einheiten: backend/tft/cli.py
stand: f41ac76b57
backend/tft/cli.py::current_set
beschreibung: Liefert die aktuell aktive TFT-Set-Nummer aus dem statischen Daten-Zeiger.
input: keine Argumente; liest den vom Modul tft.paths bereitgestellten latest-Pointer
output: int – die Set-Nummer aus dem gelesenen JSON
entscheidungen:
- Bricht hart ab, wenn noch keine statischen Daten existieren, statt einen Default zurückzugeben
beleg: "raise SystemExit("no static data yet: run
fetch-staticfirst")" - Bezieht den Set-Schlüssel ausschließlich aus dem Feld
setdes Pointer-JSONs beleg: "return json.loads(pointer.read_text())["set"]" - Kapselt den Import von
tft.pathslokal in der Funktion, um Modullade-Reihenfolge unabhängig zu halten beleg: "from tft import paths" kanten: - wird-genutzt-von: backend/tft/cli.py::main
backend/tft/cli.py::main
beschreibung: Stellt die Kommandozeilen-Schnittstelle des tft-Tools bereit und verzweigt eingegebene Subcommands auf die passenden Pipeline-Funktionen.
input: Prozess-Argumente aus argparse (Subcommand + Optionen wie --set, --policy, --games)
output: Konsolen-Statusmeldungen bzw. Fehlerausgaben; bei refresh ruft es rekursiv Sub-Stages als Subprozess auf
entscheidungen:
- Erlaubt ausschließlich die registrierten Subcommands, indem
required=Truegesetzt wird beleg: "sub = parser.add_subparsers(dest="command", required=True)" - Trennt Subcommand-Implementierungen per Lazy-Import innerhalb der
elif-Zweige beleg: "if args.command == "fetch-static":" - Bricht den
refresh-Lauf beim ersten nicht-null Returncode eines Subprozesses ab beleg: "if result.returncode != 0:" - Übergibt beim
autoplay-Subcommand die Default-Politikecon, falls--policyfehlt beleg: "default="econ"" - Nutzt beim
calibrate-Pfad strikt Holdout-Daten viaholdout_only=Truebeleg: "holdout_only=True)" kanten: - wird-genutzt-von: backend/tft/cli.py::main