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("/low_guests", methods=["GET"]) def get_low_guests(): t = re.from_string('{% from "macros.j2" import guests %}{{guests(count, level)}}') return render_template(t, count=rg.players.guests["low"], level="low") @app.route("/mid_guests", methods=["GET"]) def get_mid_guests(): t = re.from_string('{% from "macros.j2" import guests %}{{guests(count, level)}}') return render_template(t, count=rg.players.guests["mid"], level="mid") @app.route("/high_guests", methods=["GET"]) def get_high_guests(): t = re.from_string('{% from "macros.j2" import guests %}{{guests(count, level)}}') return render_template(t, count=rg.players.guests["high"], level="high") @app.route("/increment_low_guest", methods=["POST"]) def increment_low_guests(): t = re.from_string('{% from "macros.j2" import guests %}{{guests(count)}}') return render_template(t, count=rg.players.increment_guests("low")) @app.route("/decrement_low_guest", methods=["POST"]) def decrement_low_guests(): t = re.from_string('{% from "macros.j2" import guests %}{{guests(count)}}') return render_template(t, count=rg.players.decrement_guests("low")) @app.route("/increment_mid_guest", methods=["POST"]) def increment_mid_guests(): t = re.from_string('{% from "macros.j2" import guests %}{{guests(count)}}') return render_template(t, count=rg.players.increment_guests("mid")) @app.route("/decrement_mid_guest", methods=["POST"]) def decrement_mid_guests(): t = re.from_string('{% from "macros.j2" import guests %}{{guests(count)}}') return render_template(t, count=rg.players.decrement_guests("mid")) @app.route("/increment_high_guest", methods=["POST"]) def increment_high_guests(): t = re.from_string('{% from "macros.j2" import guests %}{{guests(count)}}') return render_template(t, count=rg.players.increment_guests("high")) @app.route("/decrement_high_guest", methods=["POST"]) def decrement_high_guests(): t = re.from_string('{% from "macros.j2" import guests %}{{guests(count)}}') return render_template(t, count=rg.players.decrement_guests("high")) @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/", methods=["POST"]) def toggle_player(player_request): id = int(player_request) player = rg.players.toggle_player_status(id) t = re.from_string( '{% from "macros.j2" import player_button %}{{player_button(player)}}' ) return render_template(t, player=player) @app.route("/players", methods=["GET"]) def get_list_of_players(): all_players = rg.players.get_all_players() return re.get_template("players.j2").render(players=all_players, url_for=url_for) @app.route("/court-toggle/", 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_button %}{{ court_button(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())