diff options
| author | Karan Jayachandra <mail@karanjayachandra.com> | 2024-11-09 18:19:48 +0000 |
|---|---|---|
| committer | Karan Jayachandra <mail@karanjayachandra.com> | 2024-11-09 18:19:48 +0000 |
| commit | 1a7ae4bc2b759de7a03e6ad83632e6ad678754c8 (patch) | |
| tree | 5b771e755f3a55c6794c649431de35798242a2e0 /src/match_up/routes.py | |
| parent | 2b18e0929a0b3e083cbe9e5e8ffd421ed8d17e52 (diff) | |
| parent | 75a3ef7d14fcaedab29da46ba3dc5cf9c1bab699 (diff) | |
Merge branch 'feature/package' into 'develop'
Implemented packaging and command line arguments
See merge request KaranJayachandra/match_up!10
Diffstat (limited to 'src/match_up/routes.py')
| -rw-r--r-- | src/match_up/routes.py | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/src/match_up/routes.py b/src/match_up/routes.py new file mode 100644 index 0000000..319b111 --- /dev/null +++ b/src/match_up/routes.py @@ -0,0 +1,86 @@ +from match_up import app, rg +from jinja2 import Environment, PackageLoader +from flask import render_template, request, url_for + +re = Environment(loader=PackageLoader("match_up")) + + +@app.route("/", methods=["GET"]) +def home(): + return re.get_template("index.j2").render(url_for=url_for) + + +@app.route("/time", methods=["GET"]) +def get_time(): + mins, secs = rg.timer.get() + t = re.from_string('{% from "macros.j2" import timer %}{{timer(mins, secs)}}') + return render_template(t, mins=mins, secs=secs) + + +@app.route("/control", methods=["GET"]) +def get_controls(): + return render_template("controls.j2", courts=rg.courts.get_courts()) + + +@app.route("/guests", methods=["GET"]) +def get_guests(): + t = re.from_string('{% from "macros.j2" import guests %}{{guests(count)}}') + return render_template(t, count=rg.players.guests) + + +@app.route("/decrement", methods=["POST"]) +def increment_guests(): + t = re.from_string('{% from "macros.j2" import guests %}{{guests(count)}}') + return render_template(t, count=rg.players.decrement_guests()) + + +@app.route("/increment", methods=["POST"]) +def decrement_guests(): + t = re.from_string('{% from "macros.j2" import guests %}{{guests(count)}}') + return render_template(t, count=rg.players.increment_guests()) + + +@app.route("/propose", methods=["POST"]) +def get_random_games(): + levels = int(request.form["type"].split()[0]) + return render_template("games.j2", games=rg.propose(levels), title="Proposal") + + +@app.route("/confirm", methods=["POST"]) +def confirm_games(): + return render_template("games.j2", games=rg.confirm(), title=f"Round: {rg.round}") + + +@app.route("/clear", methods=["POST"]) +def clear_games(): + return render_template("games.j2", games=rg.clear(), title=f"Round: {rg.round}") + + +@app.route("/player-toggle/<player_request>", methods=["POST"]) +def toggle_player(player_request): + id = int(player_request) + status, name = rg.players.toggle_player_status(id) + t = re.from_string( + '{% from "macros.j2" import player %}{{player(id, status, name)}}' + ) + return render_template(t, id=id, status=status, name=name) + + +@app.route("/players", methods=["GET"]) +def get_list_of_players(): + return re.get_template("players.j2").render( + players=rg.players.get_players(), url_for=url_for + ) + + +@app.route("/court-toggle/<court_number>", methods=["POST"]) +def toggle_court(court_number): + id = int(court_number) + status = rg.courts.toggle_court_status(id) + t = re.from_string('{% from "macros.j2" import court %}{{ court(id, status) }}') + return render_template(t, id=id, status=status) + + +@app.route("/courts", methods=["GET"]) +def get_list_of_courts(): + return render_template("courts.j2", courts=rg.courts.get_courts()) |
