Files
geograsim/App/sims/busfahrt/scripts/relabel-l3-to-l4.py
T
Adminator 1e51ef7def Nachtrag: alle bisher untracked Ordner + hängende Änderungen mit-committen
- Konzept/, didaktik_geografie/, didaktik_simulation/, v2-modules/, v2-platform/
- 12 code-workspace-Files
- STATUS-*.md
- viele M/D/R-Änderungen an bereits getrackten Files
- .gitignore verstärkt: **/.humaninput/, **/secret_keys.txt

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-08 02:27:02 +02:00

36 lines
1.3 KiB
Python

#!/usr/bin/env python3
"""
Einmaliges Migrations-Skript: alle Aufträge mit level='l3' werden zu
level='l4' umbenannt. Die l4-Aufträge sind weltweite Ziele (USA, Brasilien,
Australien, Afrika …), die nicht mehr ins Busfahrt-Modul gehören —
sie werden für ein späteres Fluggesellschaft-Modul reserviert.
Nach diesem Lauf ist L3 im Busfahrt-Pool LEER und wird beim Tour-Filter
auf den kumulativen L1+L2-Pool zurückfallen (siehe engine.js
filterPoolByLevel). Idempotent.
"""
import json
from pathlib import Path
ROOT = Path(__file__).resolve().parent.parent / "assets" / "data"
ORDERS_PATH = ROOT / "orders.json"
with ORDERS_PATH.open("r", encoding="utf-8") as f:
orders = json.load(f)
before = sum(1 for o in orders if o.get("level") == "l3")
for o in orders:
if o.get("level") == "l3":
o["level"] = "l4"
after_l4 = sum(1 for o in orders if o.get("level") == "l4")
after_l3 = sum(1 for o in orders if o.get("level") == "l3")
with ORDERS_PATH.open("w", encoding="utf-8") as f:
json.dump(orders, f, ensure_ascii=False, indent=2)
f.write("\n")
print(f"l3 -> l4 umbenannt: {before}")
print(f"Pool jetzt: l1={sum(1 for o in orders if o.get('level')=='l1')}, "
f"l2={sum(1 for o in orders if o.get('level')=='l2')}, "
f"l3={after_l3}, l4={after_l4}")