from urllib.parse import unquote from flask import redirect, render_template, request from werkzeug import Response from formula10.database.update_query_util import delete_race_guess, update_race_guess from formula10.frontend.template_model import TemplateModel from formula10 import app @app.route("/") def root() -> Response: return redirect("/race/Everyone") @app.route("/race") def race_root() -> Response: return redirect("/race/Everyone") @app.route("/race/") def race_active_user(user_name: str) -> str: user_name = unquote(user_name) model = TemplateModel() return render_template("race.jinja", active_user=model.user_by(user_name=user_name, ignore=["Everyone"]), model=model) @app.route("/race-guess//", methods=["POST"]) def race_guess_post(race_name: str, user_name: str) -> Response: race_name = unquote(race_name) user_name = unquote(user_name) pxx: str | None = request.form.get("pxxselect") dnf: str | None = request.form.get("dnfselect") return update_race_guess(race_name, user_name, pxx, dnf) @app.route("/race-guess-delete//", methods=["POST"]) def race_guess_delete_post(race_name: str, user_name: str) -> Response: race_name = unquote(race_name) user_name = unquote(user_name) return delete_race_guess(race_name, user_name)