From c58caf5b8b8801ba826b0ff6b241d7f25a333bc8 Mon Sep 17 00:00:00 2001 From: Karan Jayachandra Date: Fri, 12 Apr 2024 10:29:29 +0200 Subject: Added a more cleaner application --- templates/player.j2 | 1 + 1 file changed, 1 insertion(+) create mode 100644 templates/player.j2 (limited to 'templates/player.j2') diff --git a/templates/player.j2 b/templates/player.j2 new file mode 100644 index 0000000..1176d65 --- /dev/null +++ b/templates/player.j2 @@ -0,0 +1 @@ + \ No newline at end of file -- cgit v1.3.1 From 20d668454a1e1d8f17f7e5d4d25f667f62381cd1 Mon Sep 17 00:00:00 2001 From: Karan Jayachandra Date: Fri, 11 Oct 2024 18:56:48 +0200 Subject: Working with Bulma CSS now --- app.py | 28 ++++++++++++-------- dummy_data_generation.py | 4 +-- model.py | 29 ++++++++++----------- templates/court.j2 | 2 +- templates/courts.j2 | 8 +++--- templates/games.j2 | 12 ++++----- templates/index.j2 | 68 +++++++++++++++++++++--------------------------- templates/player.j2 | 2 +- templates/players.j2 | 7 ++--- 9 files changed, 80 insertions(+), 80 deletions(-) (limited to 'templates/player.j2') diff --git a/app.py b/app.py index 9f4caed..fac8a29 100644 --- a/app.py +++ b/app.py @@ -1,17 +1,16 @@ from os import getenv -from model import CourtList, PlayerList, GameList -from flask import Flask, abort, render_template, request from dotenv import load_dotenv +from flask import Flask, abort, render_template +from model import CourtList, PlayerList, GameList load_dotenv() -print("Importing player list...\n") -PLAYER_LIST = PlayerList(location="test_data.csv") +PLAYER_LIST = PlayerList(location="test_data_large.csv") COURT_LIST = CourtList(12) -GAME_GENERATOR = GameList(COURT_LIST) -print("List of player:\n") -print(PLAYER_LIST) +GAME_GENERATOR = GameList() +GAME_GENERATOR.clear(COURT_LIST) + app = Flask("Match Up! Backend") env_config = getenv("PROD_APP_SETTINGS", "config.DevelopmentConfig") @@ -25,6 +24,7 @@ def home(): @app.route("/new-games", methods=["POST"]) def get_new_games(): + print("Creating new games...") GAME_GENERATOR.create_games(COURT_LIST, PLAYER_LIST) return render_template( "games.j2", @@ -32,6 +32,16 @@ def get_new_games(): ) +@app.route("/clear-games", methods=["POST"]) +def clear_games(): + print("Clearing games...") + GAME_GENERATOR.clear(COURT_LIST) + return render_template( + "games.j2", + games=GAME_GENERATOR.games, + ) + + @app.route("/game-list", methods=["GET"]) def get_list_of_games(): return render_template( @@ -65,13 +75,9 @@ def get_list_of_players(): def toggle_court(court_number): court_number = int(court_number) selection = COURT_LIST.get_court(court_number) - print(len(selection)) - print(selection) if len(selection) != 1: abort(404, f"Multiple courts requested: {len(selection)}") - print(COURT_LIST.courts) COURT_LIST.toggle_court(court_number) - print(COURT_LIST.courts) selection = COURT_LIST.get_court(court_number) return render_template( "court.j2", diff --git a/dummy_data_generation.py b/dummy_data_generation.py index 3ee6e42..3d6d116 100644 --- a/dummy_data_generation.py +++ b/dummy_data_generation.py @@ -4,7 +4,7 @@ from names import get_full_name from random import randint, getrandbits -def get_test_players(total_player: int = 20, min_skill: int = 1, max_skill: int = 10): +def get_test_players(total_player: int = 80, min_skill: int = 1, max_skill: int = 10): return [ Player( name=get_full_name(), @@ -17,7 +17,7 @@ def get_test_players(total_player: int = 20, min_skill: int = 1, max_skill: int def main(): dummy_list = get_test_players() - with open("test_data.csv", "w", newline="") as file: + with open("test_data_large.csv", "w", newline="") as file: data_writer = writer(file) data_writer.writerow(["name", "skill", "status"]) for player in dummy_list: diff --git a/model.py b/model.py index 1d6217b..9af7198 100644 --- a/model.py +++ b/model.py @@ -48,25 +48,25 @@ class Player: class PlayerList: def __init__(self, location: Path = "players.csv"): + players = [] with open(location, newline="") as file: data_reader = reader(file) next(data_reader, None) - self.players = [ - ( - Player( - name=row[0], - skill=row[1], - status=(row[2] == "True"), - ) - ) - for row in data_reader - ] + for row in data_reader: + player = Player(name=row[0], skill=row[1], status=(row[2] == "True")) + players.append(player) + players.sort(key=attrgetter("name")) + self.players = players def get_player(self, player_request: str): - return [player for player in self.players if player.name == player_request] + players = [player for player in self.players if player.name == player_request] + players.sort(key=attrgetter("name")) + return players def get_active_players(self): - return [player for player in self.players if player.status] + players = [player for player in self.players if player.status] + players.sort(key=attrgetter("name")) + return players def toggle_player(self, player_request: Player): self.players = [ @@ -142,10 +142,9 @@ def create_possible_games(court_list: list[Court], players: list[Player]): @dataclass class GameList: - court_list: CourtList - def __post_init__(self): - courts = self.court_list.courts + def clear(self, court_list: CourtList): + courts = court_list.courts active_courts = [court for court in courts if court.status] inactive_courts = [court for court in courts if not court.status] dummy_games = create_dummy_games(active_courts) diff --git a/templates/court.j2 b/templates/court.j2 index 6ae4d91..425e7d5 100644 --- a/templates/court.j2 +++ b/templates/court.j2 @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/templates/courts.j2 b/templates/courts.j2 index 3134aca..64fd44a 100644 --- a/templates/courts.j2 +++ b/templates/courts.j2 @@ -1,7 +1,9 @@ -
+
+
{% for court in courts %} -
- +
+
{% endfor %} +
\ No newline at end of file diff --git a/templates/games.j2 b/templates/games.j2 index 83fff7f..b070b16 100644 --- a/templates/games.j2 +++ b/templates/games.j2 @@ -1,10 +1,10 @@ -
- - +
+ - + + {% for game in games %} @@ -14,5 +14,5 @@ {% endfor %} -
Court Team 1 Team 2
{{ game.court.number }}{{ game.team2.player2.name }}
-
\ No newline at end of file + + \ No newline at end of file diff --git a/templates/index.j2 b/templates/index.j2 index a9c451f..ac6ddf3 100644 --- a/templates/index.j2 +++ b/templates/index.j2 @@ -2,54 +2,46 @@ - + 🏸Match Up! - + + -
-

🏸The Smashing Fellows

-
-
-
-

Games

-
-
- -
-

Courts

+
+
+

🏸The Smashing Fellows

+
+
+
+

Games

+
+
+
+
+
+
+
+
+
+
+

Courts

-
-
-
-

Players

+ +
+

Players

-
-
-