Files
tft/.planer/einheiten/backend__tft__cli.py.md
2026-07-24 11:24:24 +02:00

1.9 KiB
Raw Blame History

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-static first")"
  • Bezieht den Set-Schlüssel ausschließlich aus dem Feld set des Pointer-JSONs beleg: "return json.loads(pointer.read_text())["set"]"
  • Kapselt den Import von tft.paths lokal 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=True gesetzt 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-Politik econ, falls --policy fehlt beleg: "default="econ""
  • Nutzt beim calibrate-Pfad strikt Holdout-Daten via holdout_only=True beleg: "holdout_only=True)" kanten:
  • wird-genutzt-von: backend/tft/cli.py::main