diff options
| author | Karan Jayachandra <mail@karanjayachandra.com> | 2024-11-15 17:26:47 +0000 |
|---|---|---|
| committer | Karan Jayachandra <mail@karanjayachandra.com> | 2024-11-15 17:26:47 +0000 |
| commit | 7b7f8cdef5f035ccdab714059c1a6c54b80c4ba3 (patch) | |
| tree | 2d7ea5de37f2bda57be419b4aa37971afa09eab5 /app.py | |
| parent | f68c54ae8f921c23851680b2501fac8bda1b4010 (diff) | |
| parent | 7b8bbe6db3680af65c3701afbcd31ac1f61773af (diff) | |
Merge branch 'develop' into 'main'2.0
Database and javascript timer implemented
See merge request KaranJayachandra/match_up!11
Diffstat (limited to 'app.py')
| -rw-r--r-- | app.py | 94 |
1 files changed, 0 insertions, 94 deletions
@@ -1,94 +0,0 @@ -from os import getenv -from dotenv import load_dotenv -from controller import RoundGenerator -from model import CourtList, PlayerList -from jinja2 import FileSystemLoader, Environment -from flask import Flask, render_template, request - - -load_dotenv() -app = Flask("Match Up! Backend") -app.config.from_object(getenv("APP_SETTINGS")) -rg = RoundGenerator( - courts=CourtList(int(getenv("COURTS"))), players=PlayerList(getenv("DATABASE")) -) -re = Environment(loader=FileSystemLoader("templates")) - - -@app.route("/", methods=["GET"]) -def home(): - return render_template("index.j2") - - -@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 render_template("players.j2", players=rg.players.get_players()) - - -@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()) |
