diff --git a/app/app.py b/app/app.py
index e37c9c8..226a1a2 100644
--- a/app/app.py
+++ b/app/app.py
@@ -1,4 +1,4 @@
-from flask import Flask, request, session, redirect, url_for, abort
+from flask import Flask, request, session, redirect
import sqlite3
app = Flask(__name__)
@@ -11,11 +11,8 @@ def get_db():
@app.route("/", methods=["GET", "POST"])
def start():
- html = '
Verlies
'
-
if request.method == "POST": # Formular abgeschickt?
- # .get() verhindert Abstürze, falls "name" mal fehlt
- name = request.form.get("name", "").strip()
+ name = request.form["name"].strip()
if name != "":
session["spieler"] = name # App merkt sich: das bist du
db = get_db()
@@ -25,75 +22,36 @@ def start():
)
db.commit()
db.close()
- # url_for generiert den Pfad dynamisch (sehr viel sicherer!)
- return redirect(url_for("raum", id=1))
+ return redirect("/app/raum/1")
- # Wenn kein POST gesendet wurde, läuft der Code hier einfach weiter:
- if "spieler" in session:
- db = get_db()
- s = db.execute(
- "SELECT raum_id FROM spielstand WHERE spieler=?",
- (session["spieler"],)
- ).fetchone()
- db.close()
- if s:
- # Dynamische URL-Generierung auch hier für den Weiterspielen-Link
- weiterspielen_url = url_for("raum", id=s["raum_id"])
- html = html + 'Willkommen zurück, ' + session["spieler"] + '!
' \
- + 'Weiterspielen
'
-
- # Jetzt existiert 'html' garantiert immer
- return html + ''
-
+ return 'Verlies
' \
+ + ''
@app.route("/raum/", methods=["GET", "POST"])
def raum(id):
db = get_db()
+ r = db.execute("SELECT * FROM raeume WHERE id=?", (id,)).fetchone()
- if "spieler" in session: # angemeldet?
- db.execute(
- "UPDATE spielstand SET raum_id=? WHERE spieler=?",
- (id, session["spieler"])
- )
- db.commit()
-
- # Raum aus der DB holen
- r = db.execute("SELECT * FROM r_aeume WHERE id=?", (id,)).fetchone()
-
- # Fehlerbehandlung: Was, wenn die ID nicht existiert?
- if r is None:
- db.close()
- abort(404, description="Dieser Raum existiert nicht!")
-
- # Rätselraum?
- if r["raetsel_frage"]:
+ if r["raetsel_frage"]: # Rätselraum?
if request.method == "POST":
- user_antwort = request.form.get("antwort", "").strip()
- if user_antwort == r["raetsel_antwort"]:
- db.close() # DB schließen vor dem Return!
+ if request.form["antwort"].strip() == r["raetsel_antwort"]:
return "Befreit!
"
-
- db.close() # DB schließen vor dem Return!
- nochmal_url = url_for("raum", id=id)
- return 'Leider falsch. nochmal'
-
- db.close() # DB schließen vor dem Return!
+ return 'Leider falsch. nochmal'
return "" + r["name"] + "
" + r["beschreibung"] + "
" \
+ ''
- # Sonst: normaler Raum mit Ausgängen
+ # sonst: normaler Raum mit Ausgängen (wie bisher)
ausgaenge = db.execute("SELECT richtung, nach_raum FROM ausgaenge WHERE von_raum=?", (id,)).fetchall()
- db.close() # DB schließen für den normalen Pfad
+ db.close()
html = "" + r["name"] + "
"
html = html + "" + r["beschreibung"] + "
"
for a in ausgaenge:
- nach_raum_url = url_for("raum", id=a["nach_raum"])
- html = html + '' \
+ html = html + '' \
+ a["richtung"] + ' '
-
- return html # Das hat gefehlt!
+ return html
+
if __name__ == "__main__":
app.run(host="0.0.0.0", port=9011)
\ No newline at end of file