# Einheiten: backend/tft/staticdata/fetch.py stand: f41ac76b5789 ## backend/tft/staticdata/fetch.py::fetch_static beschreibung: Lädt TFT-Rohdaten von Community Dragon, parst sie und schreibt sie zusammen mit Metadaten versioniert auf die Festplatte. input: optionale `set_override`-ID, sonst aktuelle Set-Auswahl der Quelldaten output: das geparste TFT-Statikdaten-Dictionary (zugleich als versionierte JSON-Dateien inklusive Pointer-Datei persistiert) entscheidungen: - Patch wird aus dem Content-Metadata-Endpoint auf die ersten zwei Versionssegmente reduziert. beleg: "patch = \".\".join(version.split(\".\")[:2])" - Rohdaten werden unverändert zusätzlich als `raw.json` archiviert. beleg: "(out_dir / \"raw.json\").write_text(json.dumps(raw))" - Geschriebene Domänen-Dateien werden mit eingerücktem, nicht-ASCII-escapiertem JSON serialisiert. beleg: "json.dumps(parsed[name], indent=1, ensure_ascii=False)" - Nach erfolgreichem Schreiben wird ein `latest_static_pointer` aktualisiert, damit Aufrufer das aktuelle Verzeichnis finden. beleg: "paths.latest_static_pointer().write_text(json.dumps(pointer, indent=1))" kanten: ## backend/tft/staticdata/fetch.py::load_static beschreibung: Lädt den zuletzt von `fetch_static` geschriebenen Satz normalisierter TFT-Statikdaten über den Pointer wieder ein. input: nichts; liest selbstständig den Pointer-Pfad aus `tft.paths` output: ein Dictionary mit den Schlüsseln `units`, `traits`, `items`, `augments` und `meta` aus dem zuletzt gespeicherten Statikdaten-Verzeichnis entscheidungen: - Das Zielverzeichnis wird über `paths.latest_static_pointer()` und nicht über einen Aufrufparameter bestimmt. beleg: "pointer = json.loads(paths.latest_static_pointer().read_text())" - Der `pathlib`-Import erfolgt erst innerhalb der Funktion, um den Modulimport schlank zu halten. beleg: "from pathlib import Path" - Beim Laden werden ausschließlich die fünf bekannten Domänen-Schlüssel zusammengeführt, unbekannte Einträge ignoriert. beleg: "for name in (\"units\", \"traits\", \"items\", \"augments\", \"meta\")" kanten: - wird-genutzt-von: backend/tft/staticdata/fetch.py::fetch_static