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>
58 lines
4.1 KiB
Python
58 lines
4.1 KiB
Python
#!/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')
|