#!/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}")