# -*- coding: utf-8 -*- """ Girls Day Quiz Flask App – finale Version """ from datetime import datetime from flask import render_template, request, redirect from GirlsDayPython import app # ------------------- # Funktionen zum Code laden / speichern # ------------------- def load_code(): try: with open("code.txt", "r", encoding="utf-8") as f: return f.read().strip() except: return "" def save_code(code): with open("code.txt", "w", encoding="utf-8") as f: f.write(code) # ------------------- # Home / Quiz-Seite # ------------------- @app.route('/', methods=["GET", "POST"]) @app.route('/home', methods=["GET", "POST"]) def home(): message = "" color = "green" success = False # Flag für diese Anfrage correct_code = load_code() if request.method == "POST": user_code = request.form["code"] # Länge prüfen if len(user_code) != len(correct_code): message = f"Ungültige Eingabe. Der Code ist {len(correct_code)}-stellig." color = "red" else: errors = [i+1 for i in range(len(correct_code)) if user_code[i] != correct_code[i]] if not errors: message = "Herzlichen Glückwunsch! Sie haben einen Preis gewonnen." color = "green" success = True # Eingabefeld ausblenden für diese Antwort else: if len(errors) == 1: message = f"Falscher Code! An der Stelle {errors[0]} ist eine falsche Zahl eingetragen worden." else: stellen = " und ".join(map(str, errors)) message = f"Falscher Code! An den Stellen {stellen} sind falsche Zahlen eingetragen worden." color = "red" return render_template( 'index.html', title='Girls Day Quiz', year=datetime.now().year, message=message, color=color, success=success ) # ------------------- # Admin-Seite # ------------------- @app.route('/admin', methods=["GET", "POST"]) def admin(): current_code = load_code() if request.method == "POST": new_code = request.form["code"] save_code(new_code) return redirect("/") return render_template("admin.html", code=current_code) # ------------------- # Kontakt / About # ------------------- @app.route('/contact') def contact(): return render_template( 'contact.html', title='Contact', year=datetime.now().year, message='Your contact page.' ) @app.route('/about') def about(): return render_template( 'about.html', title='About', year=datetime.now().year, message='Your application description page.' )