summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/match_up/__init__.py15
-rw-r--r--src/match_up/controller.py9
-rw-r--r--src/match_up/model.py19
-rw-r--r--src/match_up/routes.py11
4 files changed, 38 insertions, 16 deletions
diff --git a/src/match_up/__init__.py b/src/match_up/__init__.py
index 3967cb9..996bf9a 100644
--- a/src/match_up/__init__.py
+++ b/src/match_up/__init__.py
@@ -2,25 +2,32 @@ from flask import Flask
from dotenv import load_dotenv
from argparse import ArgumentParser
from importlib.resources import path
+from match_up.utilities import Timer
from match_up.controller import RoundGenerator
from match_up.model import CourtList, PlayerList
-from match_up.utilities import Timer
load_dotenv()
with path("match_up", "static") as p:
static_folder = p
with path("match_up", "templates") as p:
template_folder = p
-app = Flask("Match Up! Backend", static_folder=static_folder, template_folder=template_folder)
+app = Flask(
+ "Match Up! Backend", static_folder=static_folder, template_folder=template_folder
+)
rg = RoundGenerator()
from match_up import routes
+
def main():
parser = ArgumentParser()
- parser.add_argument("-t", "--timer", help="Total mins per round", type=float, default=12)
- parser.add_argument("-c", "--courts", help="Total number of courts", type=int, default=12)
+ parser.add_argument(
+ "-t", "--timer", help="Total mins per round", type=float, default=12
+ )
+ parser.add_argument(
+ "-c", "--courts", help="Total number of courts", type=int, default=12
+ )
args = parser.parse_args()
global rg
rg.courts = CourtList(total=args.courts)
diff --git a/src/match_up/controller.py b/src/match_up/controller.py
index 6188b3e..a21fced 100644
--- a/src/match_up/controller.py
+++ b/src/match_up/controller.py
@@ -2,7 +2,14 @@ from typing import Tuple
from operator import attrgetter
from dataclasses import dataclass, field
from match_up.utilities import sample_list, Timer
-from match_up.model import Team, Game, PlayerList, CourtList, MAX_LEVEL, PLAYER_PER_COURT
+from match_up.model import (
+ Team,
+ Game,
+ PlayerList,
+ CourtList,
+ MAX_LEVEL,
+ PLAYER_PER_COURT,
+)
def _create_placeholders(courts: dict, name: str) -> list[Game]:
diff --git a/src/match_up/model.py b/src/match_up/model.py
index 592d60f..5d6c0f5 100644
--- a/src/match_up/model.py
+++ b/src/match_up/model.py
@@ -30,6 +30,7 @@ class Game:
team1: Team
team2: Team
+
@dataclass
class CourtList:
total: int = DEFAULT_COURTS
@@ -53,21 +54,27 @@ class CourtList:
inactive_courts = {k: v for k, v in self.courts.items() if not v}
return active_courts, inactive_courts
+
def _load_csv_players(file_name: str) -> dict:
with open(file_name, newline="") as file:
pointer = reader(file)
next(pointer, None)
- players = {
- id: Player(row[0], int(row[1])) for id, row in enumerate(pointer)
- }
+ players = {id: Player(row[0], int(row[1])) for id, row in enumerate(pointer)}
return players
+
def _generate_random_players(player_count: int = 80) -> list[Player]:
- players = {i: Player(name=get_full_name(),
- skill=randint(MIN_LEVEL, MAX_LEVEL),
- status=bool(getrandbits(1))) for i in range(player_count)}
+ players = {
+ i: Player(
+ name=get_full_name(),
+ skill=randint(MIN_LEVEL, MAX_LEVEL),
+ status=bool(getrandbits(1)),
+ )
+ for i in range(player_count)
+ }
return players
+
@dataclass
class PlayerList:
location: str = None
diff --git a/src/match_up/routes.py b/src/match_up/routes.py
index 524d50b..319b111 100644
--- a/src/match_up/routes.py
+++ b/src/match_up/routes.py
@@ -4,10 +4,10 @@ from flask import render_template, request, url_for
re = Environment(loader=PackageLoader("match_up"))
+
@app.route("/", methods=["GET"])
def home():
- template = re.get_template("index.j2").render(url_for=url_for)
- return template
+ return re.get_template("index.j2").render(url_for=url_for)
@app.route("/time", methods=["GET"])
@@ -68,8 +68,9 @@ def toggle_player(player_request):
@app.route("/players", methods=["GET"])
def get_list_of_players():
- template = re.get_template("players.j2").render(players=rg.players.get_players(), url_for=url_for)
- return template
+ return re.get_template("players.j2").render(
+ players=rg.players.get_players(), url_for=url_for
+ )
@app.route("/court-toggle/<court_number>", methods=["POST"])
@@ -82,4 +83,4 @@ def toggle_court(court_number):
@app.route("/courts", methods=["GET"])
def get_list_of_courts():
- return render_template("courts.j2", courts=rg.courts.get_courts()) \ No newline at end of file
+ return render_template("courts.j2", courts=rg.courts.get_courts())