Files
wtc.waiswuaschd.de/scripts/update_recipe_subtitles.py

104 lines
4.8 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Apply titles and optional subtitles to recipes in MariaDB.
"""
import os
import sys
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from app.database import get_connection
sys.stdout.reconfigure(encoding='utf-8')
# Mapping of ID -> (new_title, new_subtitle)
SUBTITLE_UPDATES = {
# Specifically requested by user:
51: ("Kressesuppe", "mit Croutons"),
# Parenthetical subtitles:
9: ("Gebratene Kasknödel", "Käseknödel aus der Pfanne"),
24: ("Galaktoboureko", "Griechischer Grießauflauf"),
30: ("Heidelbeer-Tiramisu", "fruchtig-frisch ohne Ei"),
29: ("Zitronen-Tiramisu", "mit Lemon Curd (ohne rohes Ei)"),
37: ("Donauwelle", "Super Easy vom Blech"),
39: ("Fudgy Kidneybohnen-Brownies", "ohne Mehl"),
82: ("Blumenkohl-Curry mit Reis", "Cauliflower Curry"),
87: ("Pla Pad Krapao", "Thai-Basilikum-Fischfilet mit Reis"),
92: ("Schmackefatz", "Süßer Nudel-Quark-Auflauf"),
95: ("Saftiger Karottenkuchen", "Rüblikuchen"),
107: ("Jian Baos", "Gebratene Bao-Taschen"),
108: ("Okonomiyaki", "Japanischer Kohlpfannkuchen"),
109: ("Klassische Dim Sum", "Gyoza / Dumplings"),
112: ("Soft Cinnamon Rolls", "Amerikanische Zimtschnecken"),
113: ("Zimtschneckenkuchen", "ohne Hefe"),
# Long composite titles with "mit ..." / "auf ..." / "aus ...":
3: ("Champignons wie vom Weihnachtsmarkt", "mit Knoblauchsauce"),
7: ("Spaghetti in Zitronenbutter", "und Lachs mit Macadamiakruste"),
8: ("Orzo-Halloumi-Salat", "mit Granatapfel & Honig-Senf-Dressing"),
11: ("Cremige Zucchini-Bohnenpfanne", "mit Erdnussbutter"),
12: ("Blätterteigpäckchen", "mit grünem Spargel & Pecorino"),
14: ("Traditionelle italienische Focaccia", "mit Rosmarin"),
15: ("Fluffige Bao Buns", "mit marinierten Champignons & Edamame"),
16: ("Schnelle Ramen", "mit Miso-Dashibrühe & Räuchertofu"),
17: ("Traditionelle Ramen", "mit Shoyu-Tare & knusprigem Hack"),
18: ("One-Pot Mie-Nudeln", "mit Kokos, Curry & Erdnussbutter"),
19: ("Gemüse nach Gonbao-Art", "mit gerösteten Erdnüssen"),
20: ("Knuspriger Orangentofu", "mit Duftreis"),
21: ("Lachs in Thai-Curry-Soße", "mit Zucchini & goldenem Reis"),
22: ("American Pancakes", "mit Beeren & Ahornsirup"),
25: ("Crema Catalana", "mit feiner Zuckerkruste"),
26: ("Cremiges veganes Schokomousse", "aus Seidentofu"),
27: ("Mango-Limetten-Triffle", "mit weißer Schokolade"),
28: ("Lebkuchen-Mousse", "mit Glühweinkirschen"),
32: ("Zimt-Biskuitrolle", "mit karamellisierten Pflaumen & Krokant"),
34: ("Apfel-Salzkaramell-Tarte", "mit Erdnüssen"),
36: ("Bounty®-Kuchen", "vom Blech mit Kokoscreme"),
38: ("Gedeckter Apfelkuchen", "mit Streuseln"),
53: ("Blätterteig Lauchstrudel", "mit Speck"),
56: ("Klassische Senfeier", "mit Schnittlauch & Kresse"),
57: ("Würzige Fischboulette", "in Kräuterpanade"),
59: ("Maultaschen", "auf warmem Wurzelgemüse-Salat"),
60: ("Allgäuer Käsenudeln", "mit Tomatensauce"),
63: ("Spaghetti Napoletana", "mit knusprigen Butterbröseln"),
65: ("Thunfischsauce", "mit Orecchiette"),
68: ("Glasierte Garnelen", "auf Umami-Kartoffelstampf"),
71: ("Korean Glazed Potatoes", "mit Chili-Öl & Gurkensalat"),
72: ("Teriyaki-Fischfilet", "auf Ingwer-Süßkartoffelstampf"),
74: ("Schummel-Paella", "mit Meeresfrüchten & Hähnchen"),
75: ("Vegane Bowl", "mit Sesam-Süßkartoffel & Avocado"),
77: ("Hausgemachtes Naan-Brot", "mit Knoblauchbutter"),
79: ("Rahm-Fladen", "mit Schmand, Speck & Frühlingszwiebeln"),
80: ("Schwäbische Dinnete", "mit Kartoffeln und Käse"),
81: ("Veggie Po-Boy Sandwich", "mit crunchy Champignons"),
83: ("Curry-Pfannkuchen", "mit würziger Bohnenfüllung"),
85: ("Indisches rotes Linsen-Dal", "mit Kokos"),
86: ("Pad Thai", "mit veganem Hähnchen"),
88: ("Shredded Tofu-Linsen-Curry", "mit Kokosmilch"),
89: ("Umami-Kräuterseitlinge", "mit Sesam & Frühlingszwiebeln"),
90: ("Apple Crumble", "mit Haferflocken-Streuseln"),
91: ("Palatschinken", "mit feiner Walnussfüllung"),
97: ("Rhabarberkuchen", "mit Quarkcreme und Streuseln"),
98: ("Zwetschgenkuchen", "mit feinen Zimtstreuseln"),
103: ("Soba „Sommerrollen“-Salat", "mit Tofu und Erdnussdressing"),
111: ("Zimt-Apfel-Blondies", "mit Mandelkruste")
}
def main():
conn = get_connection()
cur = conn.cursor()
count = 0
for rid, (title, subtitle) in SUBTITLE_UPDATES.items():
cur.execute("UPDATE recipes SET title = %s, subtitle = %s WHERE id = %s", (title, subtitle, rid))
count += 1
print(f"Updated #{rid}: '{title}' | Untertitel: '{subtitle}'")
conn.commit()
conn.close()
print(f"\nSuccessfully updated {count} recipes with titles and subtitles.")
if __name__ == "__main__":
main()