1e51ef7def
- 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>
36 lines
1.3 KiB
Python
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}")
|