Files
quiz/app/seed_40.py
T

610 lines
28 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.
import json
from app.database import engine, SessionLocal
from app.models import Question
from sqlalchemy import text
QUESTIONS_DATA = [
# --- EASY (1-14) ---
{
"category": "creatures",
"difficulty": "easy",
"question_type": "multiple_choice",
"question": "Wie heißt Harrys schneeweiße Eule?",
"canonical_answer": "Hedwig",
"options": ["Hedwig", "Errol", "Pigwidgeon", "Fawkes"],
"hint": "Harry bekam sie von Hagrid in der Winkelgasse geschenkt.",
"question_en": "What is the name of Harry's snowy pet owl?",
"answer_en": "Hedwig",
"options_en": ["Hedwig", "Errol", "Pigwidgeon", "Fawkes"],
"hint_en": "Harry received her as a gift from Hagrid in Diagon Alley."
},
{
"category": "hogwarts",
"difficulty": "easy",
"question_type": "multiple_choice",
"question": "Welche Farben repräsentieren das Haus Gryffindor?",
"canonical_answer": "Rot und Gold",
"options": ["Rot und Gold", "Grün und Silber", "Blau und Bronze", "Gelb und Schwarz"],
"hint": "Sie erinnern an ein loderndes Löwenfeuer.",
"question_en": "Which colours represent the House of Gryffindor?",
"answer_en": "Red and Gold",
"options_en": ["Red and Gold", "Green and Silver", "Blue and Bronze", "Yellow and Black"],
"hint_en": "They evoke the fiery colours of a proud lion."
},
{
"category": "hogwarts",
"difficulty": "easy",
"question_type": "text",
"question": "Von welchem Gleis am Bahnhof King's Cross fährt der Hogwarts-Express ab?",
"canonical_answer": "9 3/4",
"options": None,
"hint": "Eine Bruchzahl zwischen Bahnsteig 9 und 10.",
"question_en": "From which platform at King's Cross station does the Hogwarts Express depart?",
"answer_en": "9 3/4",
"options_en": None,
"hint_en": "A fraction between platforms 9 and 10."
},
{
"category": "quidditch",
"difficulty": "easy",
"question_type": "text",
"question": "Wie viele Punkte bringt das Fangen des Goldenen Schnatzes im Quidditch?",
"canonical_answer": "150",
"options": None,
"hint": "Mehr als einhundert Punkte.",
"question_en": "How many points is catching the Golden Snitch worth in Quidditch?",
"answer_en": "150",
"options_en": None,
"hint_en": "More than one hundred points."
},
{
"category": "hogwarts",
"difficulty": "easy",
"question_type": "text",
"question": "In wie viele verschiedene Häuser teilt der Sprechende Hut die Schüler ein?",
"canonical_answer": "4",
"options": None,
"hint": "Gryffindor, Hufflepuff, Ravenclaw und Slytherin.",
"question_en": "Into how many different houses does the Sorting Hat divide students?",
"answer_en": "4",
"options_en": None,
"hint_en": "Gryffindor, Hufflepuff, Ravenclaw, and Slytherin."
},
{
"category": "spells",
"difficulty": "easy",
"question_type": "multiple_choice",
"question": "Mit welchem Zauberspruch beschwört man einen Patronus herauf?",
"canonical_answer": "Expecto Patronum",
"options": ["Expecto Patronum", "Expelliarmus", "Lumos Solem", "Avada Kedavra"],
"hint": "Er erfordert eine zutiefst glückliche Erinnerung.",
"question_en": "Which incantation conjures a Patronus guardian?",
"answer_en": "Expecto Patronum",
"options_en": ["Expecto Patronum", "Expelliarmus", "Lumos Solem", "Avada Kedavra"],
"hint_en": "It requires a powerfully happy memory."
},
{
"category": "characters",
"difficulty": "easy",
"question_type": "text",
"question": "Wie lautet der zweite Vorname von Harry Potter?",
"canonical_answer": "James",
"options": None,
"hint": "Er trägt denselben Namen wie sein Vater.",
"question_en": "What is Harry Potter's middle name?",
"answer_en": "James",
"options_en": None,
"hint_en": "He shares this name with his father."
},
{
"category": "lore",
"difficulty": "easy",
"question_type": "multiple_choice",
"question": "Welcher magische Kern befindet sich im Zauberstab von Harry Potter?",
"canonical_answer": "Phönixfeder",
"options": ["Phönixfeder", "Drachenherzfaser", "Einhornhaar", "Veela-Haar"],
"hint": "Die Feder stammt von Dumbledores Vogel Fawkes.",
"question_en": "What magical core is inside Harry Potter's wand?",
"answer_en": "Phoenix feather",
"options_en": ["Phoenix feather", "Dragon heartstring", "Unicorn hair", "Veela hair"],
"hint_en": "The feather was donated by Dumbledore's phoenix Fawkes."
},
{
"category": "characters",
"difficulty": "easy",
"question_type": "text",
"question": "Wer war der weise Schulleiter von Hogwarts zu Harrys Schulzeit?",
"canonical_answer": "Albus Dumbledore",
"options": None,
"hint": "Er trägt eine Halbmondbrille und liebt Zitronenbrausebonbons.",
"question_en": "Who was the wise Headmaster of Hogwarts during most of Harry's schooling?",
"answer_en": "Albus Dumbledore",
"options_en": None,
"hint_en": "He wears half-moon spectacles and loves Lemon Drops."
},
{
"category": "characters",
"difficulty": "easy",
"question_type": "text",
"question": "Wie heißt der Zwillingsbruder von Fred Weasley?",
"canonical_answer": "George",
"options": None,
"hint": "Gemeinsam eröffneten sie 'Weasleys Zauberhafte Zauberscherze'.",
"question_en": "What is the name of Fred Weasley's twin brother?",
"answer_en": "George",
"options_en": None,
"hint_en": "Together they opened 'Weasleys' Wizard Wheezes'."
},
{
"category": "hogwarts",
"difficulty": "easy",
"question_type": "multiple_choice",
"question": "Welches Tier ist das Wappentier des Hauses Hufflepuff?",
"canonical_answer": "Dachs",
"options": ["Dachs", "Biber", "Eichhörnchen", "Otter"],
"hint": "Ein grabendes, treues und wehrhaftes Tier.",
"question_en": "Which animal is the emblem of House Hufflepuff?",
"answer_en": "Badger",
"options_en": ["Badger", "Beaver", "Squirrel", "Otter"],
"hint_en": "A loyal, hard-working, burrowing animal."
},
{
"category": "spells",
"difficulty": "easy",
"question_type": "text",
"question": "Welcher Zauberspruch entwaffnet einen gegnerischen Zauberer?",
"canonical_answer": "Expelliarmus",
"options": None,
"hint": "Harrys Markenzeichen im Duell.",
"question_en": "Which spell is used to disarm an opponent?",
"answer_en": "Expelliarmus",
"options_en": None,
"hint_en": "Harry's trademark defensive spell in duels."
},
{
"category": "characters",
"difficulty": "easy",
"question_type": "multiple_choice",
"question": "In welches Tier kann sich Sirius Black als Animagus verwandeln?",
"canonical_answer": "Schwarzer Hund",
"options": ["Schwarzer Hund", "Wolf", "Hirsch", "Ratte"],
"hint": "Sein Spitzname lautet 'Tatze' (Padfoot).",
"question_en": "Which animal does Sirius Black transform into as an Animagus?",
"answer_en": "Black Dog",
"options_en": ["Black Dog", "Wolf", "Stag", "Rat"],
"hint_en": "His Marauder nickname is 'Padfoot'."
},
{
"category": "lore",
"difficulty": "easy",
"question_type": "text",
"question": "Wie viele Heiligtümer des Todes gibt es laut der Legende der drei Brüder?",
"canonical_answer": "3",
"options": None,
"hint": "Elderstab, Stein der Auferstehung und Tarnumhang.",
"question_en": "How many Deathly Hallows exist according to the Tale of the Three Brothers?",
"answer_en": "3",
"options_en": None,
"hint_en": "The Elder Wand, the Resurrection Stone, and the Invisibility Cloak."
},
# --- MEDIUM (15-30) ---
{
"category": "lore",
"difficulty": "medium",
"question_type": "multiple_choice",
"question": "Wie heißt die beliebte Wirtin des Gasthauses 'Drei Besen' in Hogsmeade?",
"canonical_answer": "Madam Rosmerta",
"options": ["Madam Rosmerta", "Madam Malkin", "Madam Pince", "Madam Pomfrey"],
"hint": "Ron Weasley hat eine kleine Schwäche für sie.",
"question_en": "What is the name of the popular landlady of 'The Three Broomsticks' in Hogsmeade?",
"answer_en": "Madam Rosmerta",
"options_en": ["Madam Rosmerta", "Madam Malkin", "Madam Pince", "Madam Pomfrey"],
"hint_en": "Ron Weasley harbors quite a crush on her."
},
{
"category": "creatures",
"difficulty": "medium",
"question_type": "text",
"question": "Welche riesige Schlange hauste tief unter Hogwarts in der Kammer des Schreckens?",
"canonical_answer": "Basilisk",
"options": None,
"hint": "Ihr Blick ist absolut tödlich.",
"question_en": "Which giant serpent dwelt deep beneath Hogwarts in the Chamber of Secrets?",
"answer_en": "Basilisk",
"options_en": None,
"hint_en": "Its direct stare causes instant death."
},
{
"category": "creatures",
"difficulty": "medium",
"question_type": "text",
"question": "Wie heißt Albus Dumbledores treuer Phönix?",
"canonical_answer": "Fawkes",
"options": None,
"hint": "Seine Tränen besitzen wundersame Heilkräfte.",
"question_en": "What is the name of Albus Dumbledore's loyal pet phoenix?",
"answer_en": "Fawkes",
"options_en": None,
"hint_en": "His tears have miraculous healing powers."
},
{
"category": "characters",
"difficulty": "medium",
"question_type": "text",
"question": "Wie heißt der mürrische alte Hauself der Familie Black am Grimmauldplatz 12?",
"canonical_answer": "Kreacher",
"options": None,
"hint": "Er verehrte Regulus Black über alles.",
"question_en": "What is the name of the grumpy house-elf serving the Black family at 12 Grimmauld Place?",
"answer_en": "Kreacher",
"options_en": None,
"hint_en": "He was fiercely loyal to Regulus Black."
},
{
"category": "characters",
"difficulty": "medium",
"question_type": "multiple_choice",
"question": "Welchen Spitznamen trug Remus Lupin als Schöpfer der Karte des Rumtreibers?",
"canonical_answer": "Moony",
"options": ["Moony", "Wurmschwanz", "Tatze", "Krone"],
"hint": "Eine Anspielung auf den Vollmond.",
"question_en": "What was Remus Lupin's Marauder nickname?",
"answer_en": "Moony",
"options_en": ["Moony", "Wormtail", "Padfoot", "Prongs"],
"hint_en": "A direct reference to the full moon."
},
{
"category": "creatures",
"difficulty": "medium",
"question_type": "multiple_choice",
"question": "Wie heißt Hermines krummbeiniger roter Kater mit Kniesel-Abstammung?",
"canonical_answer": "Krummbein",
"options": ["Krummbein", "Knut", "Knecht Ruprecht", "Klaue"],
"hint": "Auf Englisch heißt er Crookshanks.",
"question_en": "What is the name of Hermione's half-Kneazle ginger cat?",
"answer_en": "Crookshanks",
"options_en": ["Crookshanks", "Krummbein", "Claw", "Rusty"],
"hint_en": "He immediately recognized Scabbers as an imposter."
},
{
"category": "quidditch",
"difficulty": "medium",
"question_type": "text",
"question": "Wie viele Bälle sind insgesamt gleichzeitig bei einem regulären Quidditch-Spiel im Einsatz?",
"canonical_answer": "4",
"options": None,
"hint": "Ein Quaffel, zwei Klatscher und ein Schnatz.",
"question_en": "How many total balls are in play during a regular Quidditch match?",
"answer_en": "4",
"options_en": None,
"hint_en": "One Quaffle, two Bludgers, and one Golden Snitch."
},
{
"category": "spells",
"difficulty": "medium",
"question_type": "multiple_choice",
"question": "Mit welchem Spruch wird ein gestaltwandelnder Irrwicht unschädlich gemacht?",
"canonical_answer": "Riddikulus",
"options": ["Riddikulus", "Reducto", "Rictusempra", "Relashio"],
"hint": "Man muss sich etwas Lächerliches und Heiteres vorstellen.",
"question_en": "Which charm dispels a shape-shifting Boggart by turning it comical?",
"answer_en": "Riddikulus",
"options_en": ["Riddikulus", "Reducto", "Rictusempra", "Relashio"],
"hint_en": "It requires turning the creature into something funny."
},
{
"category": "spells",
"difficulty": "medium",
"question_type": "multiple_choice",
"question": "Welcher Zauberspruch lässt Gegenstände in die Luft schweben?",
"canonical_answer": "Wingardium Leviosa",
"options": ["Wingardium Leviosa", "Accio", "Alohomora", "Avis"],
"hint": "'Es heißt Leviooooosa, nicht Leviosaaaa!'",
"question_en": "Which levitation charm makes objects fly into the air?",
"answer_en": "Wingardium Leviosa",
"options_en": ["Wingardium Leviosa", "Accio", "Alohomora", "Avis"],
"hint_en": "'It's Levi-ooo-sa, not Levio-saaa!' - Hermione Granger."
},
{
"category": "creatures",
"difficulty": "medium",
"question_type": "multiple_choice",
"question": "Gegen welche gefährliche Drachenart musste Harry in der ersten Aufgabe des Trimagischen Turniers antreten?",
"canonical_answer": "Ungarischer Hornschwanz",
"options": ["Ungarischer Hornschwanz", "Schwedischer Kurzschnäuzler", "Gemeiner Walisischer Grünling", "Chinesischer Feuerball"],
"hint": "Der gefährlichste und bösartigste aller vier Drachen.",
"question_en": "Which fierce dragon breed did Harry face in the First Task of the Triwizard Tournament?",
"answer_en": "Hungarian Horntail",
"options_en": ["Hungarian Horntail", "Swedish Short-Snout", "Common Welsh Green", "Chinese Fireball"],
"hint_en": "Considered the most vicious and dangerous dragon of all four."
},
{
"category": "hogwarts",
"difficulty": "medium",
"question_type": "multiple_choice",
"question": "Welches Tier ziert das offizielle Hauswappen von Ravenclaw?",
"canonical_answer": "Adler",
"options": ["Adler", "Rabe", "Falke", "Eule"],
"hint": "Entgegen dem Namensbestandteil 'Raven' ist es kein Rabe!",
"question_en": "Which bird is the official emblem of House Ravenclaw in the books?",
"answer_en": "Eagle",
"options_en": ["Eagle", "Raven", "Falcon", "Owl"],
"hint_en": "Despite the house name, it is definitely not a raven!"
},
{
"category": "hogwarts",
"difficulty": "medium",
"question_type": "multiple_choice",
"question": "Wie heißt der geheimnisvolle Raum im 7. Stock, der nur erscheint, wenn man ihn wirklich braucht?",
"canonical_answer": "Raum der Wünsche",
"options": ["Raum der Wünsche", "Raum der Rätsel", "Spiegelkammer", "Halle der Prophezeiungen"],
"hint": "Dumbledores Armee trainierte hier heimlich.",
"question_en": "What is the name of the magical 7th-floor room that only appears when someone is in real need of it?",
"answer_en": "Room of Requirement",
"options_en": ["Room of Requirement", "Chamber of Riddles", "Hall of Prophecy", "Mirror Room"],
"hint_en": "Dumbledore's Army used it as their secret training ground."
},
{
"category": "characters",
"difficulty": "medium",
"question_type": "multiple_choice",
"question": "Welche Gestalt nahm der Patronus von Severus Snape an?",
"canonical_answer": "Silberne Hirschkuh",
"options": ["Silberne Hirschkuh", "Großer Hirsch", "Schlange", "Fledermaus"],
"hint": "'Nach all dieser Zeit?' – 'Immer.'",
"question_en": "What shape did Severus Snape's Patronus take?",
"answer_en": "Silver Doe",
"options_en": ["Silver Doe", "Stag", "Serpent", "Bat"],
"hint_en": "'After all this time?' – 'Always.'"
},
{
"category": "lore",
"difficulty": "medium",
"question_type": "multiple_choice",
"question": "Welcher Horkrux von Lord Voldemort wurde als allererstes von Harry Potter zerstört?",
"canonical_answer": "Tom Riddles Tagebuch",
"options": ["Tom Riddles Tagebuch", "Medaillon von Slytherin", "Ring der Gaunts", "Diadem von Ravenclaw"],
"hint": "In der Kammer des Schreckens mit einem Basiliskenzahn.",
"question_en": "Which of Voldemort's Horcruxes was the very first to be destroyed?",
"answer_en": "Tom Riddle's Diary",
"options_en": ["Tom Riddle's Diary", "Slytherin's Locket", "Gaunt's Ring", "Ravenclaw's Diadem"],
"hint_en": "Destroyed in the Chamber of Secrets with a basilisk fang."
},
{
"category": "characters",
"difficulty": "medium",
"question_type": "multiple_choice",
"question": "Wie lautet der vollständige Vorname des weltberühmten Zauberstabmachers Ollivander?",
"canonical_answer": "Garrick",
"options": ["Garrick", "Gerbold", "Gervase", "Gellert"],
"hint": "Sein Geschäft in der Winkelgasse besteht seit 382 v. Chr.",
"question_en": "What is the first name of the master wandmaker Mr. Ollivander?",
"answer_en": "Garrick",
"options_en": ["Garrick", "Gerbold", "Gervase", "Gellert"],
"hint_en": "Makers of fine wands since 382 B.C."
},
{
"category": "characters",
"difficulty": "medium",
"question_type": "text",
"question": "Wie lautet der echte Vorname von Auror 'Mad-Eye' Moody?",
"canonical_answer": "Alastor",
"options": None,
"hint": "Beginnt mit dem Buchstaben A.",
"question_en": "What is the actual first name of Auror 'Mad-Eye' Moody?",
"answer_en": "Alastor",
"options_en": None,
"hint_en": "Starts with the letter A."
},
# --- HARD (31-40) ---
{
"category": "characters",
"difficulty": "hard",
"question_type": "multiple_choice",
"question": "Wer war der Schulleiter von Hogwarts unmittelbar vor Albus Dumbledore?",
"canonical_answer": "Armando Dippet",
"options": ["Armando Dippet", "Phineas Nigellus Black", "Dexter Fortescue", "Dilys Derwent"],
"hint": "Er war Schulleiter, als Tom Riddle 1943 die Kammer des Schreckens öffnete.",
"question_en": "Who served as Headmaster of Hogwarts immediately before Albus Dumbledore?",
"answer_en": "Armando Dippet",
"options_en": ["Armando Dippet", "Phineas Nigellus Black", "Dexter Fortescue", "Dilys Derwent"],
"hint_en": "He was in charge when Tom Riddle opened the Chamber of Secrets in 1943."
},
{
"category": "characters",
"difficulty": "hard",
"question_type": "text",
"question": "Wie hieß die jüngere Schwester von Albus und Aberforth Dumbledore, die tragisch verstarb?",
"canonical_answer": "Ariana",
"options": None,
"hint": "Ihr unkontrollierter Zauberausbruch tötete einst ihre Mutter Kendra.",
"question_en": "What was the name of Albus and Aberforth Dumbledore's tragic younger sister?",
"answer_en": "Ariana",
"options_en": None,
"hint_en": "She was traumatized as a child and died during a three-way duel."
},
{
"category": "characters",
"difficulty": "hard",
"question_type": "text",
"question": "Wie hieß die Mutter von Tom Marvolo Riddle (Lord Voldemort) mit Vornamen?",
"canonical_answer": "Merope",
"options": None,
"hint": "Merope Gaunt, eine Nachfahrin von Salazar Slytherin.",
"question_en": "What was the first name of Tom Riddle's (Lord Voldemort's) pure-blood mother?",
"answer_en": "Merope",
"options_en": None,
"hint_en": "Merope Gaunt, direct descendant of Salazar Slytherin."
},
{
"category": "lore",
"difficulty": "hard",
"question_type": "multiple_choice",
"question": "In welcher exakten Reihenfolge werden die vier Schöpfer auf der Karte des Rumtreibers genannt?",
"canonical_answer": "Moony, Wurmschwanz, Tatze und Krone",
"options": [
"Moony, Wurmschwanz, Tatze und Krone",
"Krone, Tatze, Wurmschwanz und Moony",
"Moony, Tatze, Wurmschwanz und Krone",
"Tatze, Moony, Wurmschwanz und Krone"
],
"hint": "Moony steht ganz am Anfang.",
"question_en": "In what exact order are the four Marauders listed on the Marauder's Map?",
"answer_en": "Moony, Wormtail, Padfoot, and Prongs",
"options_en": [
"Moony, Wormtail, Padfoot, and Prongs",
"Prongs, Padfoot, Wormtail, and Moony",
"Moony, Padfoot, Wormtail, and Prongs",
"Padfoot, Moony, Wormtail, and Prongs"
],
"hint_en": "Moony is listed first, reflecting the reverse order of their deaths."
},
{
"category": "lore",
"difficulty": "hard",
"question_type": "multiple_choice",
"question": "Wie lange muss der Vielsafttrank laut Rezeptur mindestens im Kessel köcheln?",
"canonical_answer": "Einen Monat",
"options": ["Einen Monat", "Zwei Wochen", "Sieben Tage", "Drei Monate"],
"hint": "Unter anderem müssen Florfliegen 21 Tage lang gedünstet werden.",
"question_en": "How long must the complex Polyjuice Potion simmer before it is ready to drink?",
"answer_en": "One month",
"options_en": ["One month", "Two weeks", "Seven days", "Three months"],
"hint_en": "Lacewing flies alone must be stewed for 21 days."
},
{
"category": "spells",
"difficulty": "hard",
"question_type": "text",
"question": "Mit welchem lateinischstämmigen Zauber versiegelt man Türen gegen unbefugtes Betreten?",
"canonical_answer": "Colloportus",
"options": None,
"hint": "Erzeugt ein eigenartiges matschiges Sauggeräusch beim Schließen.",
"question_en": "Which locking spell seals doors securely, making an odd squelching noise?",
"answer_en": "Colloportus",
"options_en": None,
"hint_en": "Frequently used by Hermione in the Department of Mysteries."
},
{
"category": "characters",
"difficulty": "hard",
"question_type": "text",
"question": "Wie lautet der Nachname der strengen Bibliothekarin der verbotenen Abteilung in Hogwarts?",
"canonical_answer": "Madam Pince",
"options": None,
"hint": "Ihr Vorname ist Irma, ihr Nachname klingt wie 'zwicken' auf Englisch.",
"question_en": "What is the surname of Hogwarts' notoriously strict head librarian?",
"answer_en": "Madam Pince",
"options_en": None,
"hint_en": "Her first name is Irma; she guards the Restricted Section fiercely."
},
{
"category": "lore",
"difficulty": "hard",
"question_type": "multiple_choice",
"question": "Welcher Blutstatus trifft biologisch auf Lord Voldemort zu?",
"canonical_answer": "Halbblut",
"options": ["Halbblut", "Reinblut", "Muggelgeboren", "Squib"],
"hint": "Sein Vater Tom Riddle Senior war ein gewöhnlicher Muggel.",
"question_en": "What was Lord Voldemort's actual biological blood status?",
"answer_en": "Half-blood",
"options_en": ["Half-blood", "Pure-blood", "Muggle-born", "Squib"],
"hint_en": "His father Tom Riddle Sr. was an ordinary Muggle."
},
{
"category": "quidditch",
"difficulty": "hard",
"question_type": "multiple_choice",
"question": "Auf welcher Position spielte Harrys Vater James Potter im Gryffindor-Quidditch-Team?",
"canonical_answer": "Jäger",
"options": ["Jäger", "Sucher", "Treiber", "Hüter"],
"hint": "Obwohl er im Film mit einem Schnatz spielte, war er in den Büchern Jäger (Chaser).",
"question_en": "Which position did Harry's father James Potter play on the Gryffindor Quidditch team in the books?",
"answer_en": "Chaser",
"options_en": ["Chaser", "Seeker", "Beater", "Keeper"],
"hint_en": "Though often seen fiddling with a Snitch, J.K. Rowling confirmed he was a Chaser."
},
{
"category": "lore",
"difficulty": "hard",
"question_type": "multiple_choice",
"question": "Was bedeutet der rückwärts gelesene Spruch auf dem Spiegel Nerhegeb ('Erised stra ehru oyt ube cafru oyt on wohsi')?",
"canonical_answer": "Ich zeige nicht dein Gesicht, sondern deines Herzens Verlangen",
"options": [
"Ich zeige nicht dein Gesicht, sondern deines Herzens Verlangen",
"Nur wer die Wahrheit sucht, wird seine Zukunft sehen",
"Der Blick in die Vergangenheit heilt keine Wunden",
"Wer mich erblickt, verliert den Verstand an seine Träume"
],
"hint": "'Nerhegeb' rückwärts gelesen ergibt 'Begehren'.",
"question_en": "What does the reversed inscription on the Mirror of Erised mean?",
"answer_en": "I show not your face but your heart's desire",
"options_en": [
"I show not your face but your heart's desire",
"Only the pure of heart may see their future here",
"Look not into the past lest you lose your present",
"He who gazes within shall drown in their own dreams"
],
"hint_en": "'Erised' backwards spells 'Desire'."
}
]
def seed_40():
db = SessionLocal()
try:
# 1. Clear all existing questions as requested
print("Clearing existing questions...")
db.query(Question).delete()
db.commit()
# 2. Insert the 40 new rich bilingual questions
print(f"Inserting {len(QUESTIONS_DATA)} new bilingual questions...")
for idx, q_data in enumerate(QUESTIONS_DATA, 1):
options_json = json.dumps(q_data["options"], ensure_ascii=False) if q_data["options"] else None
options_en_json = json.dumps(q_data["options_en"], ensure_ascii=False) if q_data["options_en"] else None
# Accepted answers list includes both German and English answers
accepted = [q_data["canonical_answer"], q_data["answer_en"]]
# Also common variations
if q_data["canonical_answer"] == "9 3/4":
accepted.extend(["9 3/4", "9 3/4", "9,75", "neun dreiviertel", "nine and three quarters"])
elif q_data["canonical_answer"] == "Albus Dumbledore":
accepted.append("Dumbledore")
elif q_data["canonical_answer"] == "Tom Riddles Tagebuch":
accepted.extend(["Tagebuch", "Diary", "Riddles Tagebuch"])
accepted_json = json.dumps(list(set(accepted)), ensure_ascii=False)
new_q = Question(
id=idx,
category=q_data["category"],
difficulty=q_data["difficulty"],
question_type=q_data["question_type"],
question=q_data["question"],
canonical_answer=q_data["canonical_answer"],
options=options_json,
hint=q_data["hint"],
question_en=q_data["question_en"],
answer_en=q_data["answer_en"],
options_en=options_en_json,
hint_en=q_data["hint_en"],
accepted_answers=accepted_json,
status="active",
sort_order=idx,
submitted_by="Zaubereiministerium"
)
db.add(new_q)
db.commit()
print("Successfully seeded 40 bilingual questions across Easy, Medium, and Hard!")
finally:
db.close()
seed_40_questions = seed_40
if __name__ == "__main__":
seed_40()