Files
geograsim/App/sims/weltkueche/scripts/add-diff-notes.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

58 lines
4.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env python3
"""Fügt allen Gerichten ein `diff_note`-Feld hinzu, das den Schwierigkeitsgrad
in einem Halbsatz erklärt — was genau schwer' oder leicht' bedeutet."""
import json
from pathlib import Path
DATA_DIR = Path('C:/xampp/htdocs/geograsim/App/sims/weltkueche/assets/data')
NOTES = {
# === Tranche A — AT-regional ===
'tiroler-groestl': 'einfach zu kochen, Anfänger:in-tauglich, 1 Pfanne reicht',
'kaerntner-kasnudeln': 'Profi-Handarbeit — das Krendeln (Naht-Riffeln) braucht echte Übung',
'steirisches-wurzelfleisch':'kein Handwerk, aber 2,5 h schmoren — Geduld statt Technik',
'vorarlberger-kaesespaetzle':'Spätzlehobel-Geschick + Zwiebeln geduldig rösten',
'wachauer-marillenknoedel': 'Knödel-Formen braucht Gefühl, sonst läuft die Marille beim Kochen aus',
# === Tranche B — DACH ===
'wiener-schnitzel': 'Panieren in 3 Schritten + 170 °C Öl treffen — Aufmerksamkeit, nicht Können',
'sachertorte': 'echtes Konditor-Handwerk — Eiklarschnee, Glasur in einem Schwall, kein Streichen',
'apfelstrudel': 'Strudelteig hauchdünn ziehen ist das ganze Geheimnis — viel Übungssache',
'topfengolatschen': 'TK-Plunderteig nimmt die Arbeit ab, Fülle ist easy',
'bayerische-brezel': 'Vorsicht mit Lauge (NaOH ist ätzend!) + Brezel-Schlinge braucht Übung',
'schwaebische-maultaschen': 'Pasta selbst gemacht UND gefüllt — Geduld und Geschicklichkeit',
'rheinischer-sauerbraten': '3 Tage vorher in Marinade einlegen + 2,5 h schmoren — Marathon, aber simpel',
'schwarzwaelder-kirschtorte':'Konditor-Klassiker: Biskuit, Kirschen, Sahne, Schoko — viele Schritte',
'schweizer-kaesefondue': 'Käse-Verhältnis + Achter-Rührtechnik (nie Kreis) — Detail entscheidet',
'zuercher-geschnetzeltes': 'Rösti-Wenden mit dem Teller ist die Kunst — sonst alles geradeaus',
# === Tranche C — Europa ===
'pizza-margherita': '24 h Teigreife planen + Backofen auf Maximum — Vorbereitung statt Technik',
'spaghetti-carbonara': 'Pfanne vom Herd nehmen, BEVOR die Eier reinkommen — sonst Rührei!',
'paella-valenciana': 'große Pfanne nötig, niemals umrühren, Socarrat-Kruste am Ende ist Kunst',
'tortilla-espanola': 'Konfieren + Wenden mit Teller — sieht spektakulär aus, ist nur Geduld',
'ratatouille': 'jedes Gemüse separat anbraten ist mühsam, aber technisch simpel',
'quiche-lorraine': 'Mürbteig kalt halten + blind backen — zwei Standardtechniken',
'moussaka': 'drei Komponenten (Aubergine, Ragout, Béchamel) + langes Backen — Marathon',
'kanelbulle': 'Hefeteig braucht Zeit, Wickel-Schneide-Technik ist easy',
'pierogi-ruskie': 'Teigtaschen formen wie Kasnudeln — Geduld und ein flaches Werkzeug',
'gulasch': 'Zwiebeln 20 min karamellisieren — wer das aushält, schafft alles',
# === Tranche D — Exotisch ===
'gemuese-curry': 'Gewürze in richtiger Reihenfolge in Fett rösten — sonst Bitterkeit',
'sushi-maki': 'Sushi-Reis-Konsistenz + Bambusmatten-Rollen sind reines Übungswerk',
'pad-thai': 'Wok auf maximal heiß + Timing in Sekunden — Akrobatik in der Küche',
'falafel-hummus': 'Kichererbsen 12 h einweichen (Pflicht!) + Frittieren bei 170 °C',
'guacamole-tortillas': 'Avocado zerdrücken + Tortillas in der trockenen Pfanne backen — beides simpel',
}
for fn in ['dishes.json', 'dishes-tranche-b.json', 'dishes-tranche-c.json', 'dishes-tranche-d.json']:
path = DATA_DIR / fn
if not path.exists():
continue
data = json.loads(path.read_text(encoding='utf-8'))
for key, dish in data.items():
if key.startswith('_'):
continue
if key in NOTES:
dish['diff_note'] = NOTES[key]
path.write_text(json.dumps(data, indent=2, ensure_ascii=False), encoding='utf-8')
print(f'{fn}: {len([k for k in data if not k.startswith("_")])} Gerichte annotiert')