diff options
| author | Karan Jayachandra <mail@karanjayachandra.com> | 2025-07-14 20:16:07 +0200 |
|---|---|---|
| committer | Karan Jayachandra <mail@karanjayachandra.com> | 2025-07-14 20:16:07 +0200 |
| commit | b73e8f510f1b3a13d942e1ad42c8a04401eb6b8c (patch) | |
| tree | 26612c20e03adb3cb26c36f36d31576f3c77dc1c /app/routes.py | |
| parent | 072d546490ba6cd4422cbc9cd6644b455f58fd46 (diff) | |
| parent | 895ed4be433a4159250b276bd99f574c9c39c98e (diff) | |
Merge branch 'develop' into 'main'3.0
Develop
See merge request KaranJayachandra/match_up!17
Diffstat (limited to 'app/routes.py')
| -rw-r--r-- | app/routes.py | 111 |
1 files changed, 0 insertions, 111 deletions
diff --git a/app/routes.py b/app/routes.py deleted file mode 100644 index f4ec0f2..0000000 --- a/app/routes.py +++ /dev/null @@ -1,111 +0,0 @@ -from app import app -from pandas import read_csv -from app.controller import Session -from werkzeug.utils import secure_filename -from flask import ( - render_template, - request, - url_for, - Response, - flash, - redirect, - get_template_attribute, -) -from flask import render_template_string as render_string - -g = Session() - - -@app.route("/", methods=["GET"]) -def home(): - return render_template("index.j2", url_for=url_for) - - -@app.route("/control", methods=["GET"]) -def get_controls(): - return render_template("controls.j2", courts=g.courts.all()) - - -@app.route("/propose", methods=["POST"]) -def get_random_games(): - g.levels = int(request.form["levels"].split()[0]) - g.teams = request.form["team"] == "Teams" - return render_template("games.j2", games=g.propose(), title="Proposal") - - -@app.route("/confirm", methods=["POST"]) -def confirm_games(): - return render_template("games.j2", games=g.confirm(), title=f"Round: {g.round()}") - - -@app.route("/clear", methods=["POST"]) -def clear_games(): - return render_template( - "games.j2", games=g.current_round(), title=f"Round: {g.round()}" - ) - - -@app.route("/reset", methods=["POST"]) -def reset_games(): - return render_template("games.j2", games=g.reset(), title=f"Round: {g.round()}") - - -@app.route("/player-toggle/<player_request>", methods=["POST"]) -def toggle_player(player_request): - id = int(player_request) - player = g.players.toggle(id) - button = get_template_attribute("macros.j2", "player_button") - return render_string("{{button(player)}}", player=player, button=button) - - -@app.route("/players", methods=["GET"]) -def get_list_of_players(): - return render_template( - "players.j2", - regulars=g.players.regulars(), - guests=g.players.guests(), - url_for=url_for, - ) - - -@app.route("/reset_players", methods=["POST"]) -def reset_all_players(): - g.players.reset() - response = Response("Players reset!") - response.headers["HX-Refresh"] = "true" - return response - -@app.route("/update_players", methods=["POST"]) -def update_all_players(): - file = request.files.get("players") - response = Response("File name or data has issues!", 400) - response.headers["HX-Refresh"] = "true" - if file is None: - return response - elif file.filename is None: - return response - file_name = secure_filename(file.filename) - try: - data = read_csv(file_name) - required_columns = ["id","first_name","last_name","level","team"] - if not all([item in data.columns for item in required_columns]): - raise ImportError(f"All columns aren't available in the data.") - except: - return response - g.players.update(data) - response = Response("Players updated!") - response.headers["HX-Refresh"] = "true" - return response - - -@app.route("/court-toggle/<court_number>", methods=["POST"]) -def toggle_court(court_number): - id = int(court_number) - status = g.courts.toggle(id) - button = get_template_attribute("macros.j2", "court_button") - return render_string("{{button(id, status)}}", id=id, status=status, button=button) - - -@app.route("/courts", methods=["GET"]) -def get_list_of_courts(): - return render_template("courts.j2", courts=g.courts.all()) |
