summaryrefslogtreecommitdiff
path: root/app/controller.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/controller.py')
-rw-r--r--app/controller.py24
1 files changed, 17 insertions, 7 deletions
diff --git a/app/controller.py b/app/controller.py
index 5bdeba7..d8a178f 100644
--- a/app/controller.py
+++ b/app/controller.py
@@ -2,7 +2,7 @@ from math import floor
from app import app, db
from datetime import date
from operator import attrgetter
-from sqlalchemy import select, func, Date
+from sqlalchemy import func, Date
from app.model import (
Player,
Players,
@@ -29,6 +29,7 @@ class Session:
def __init__(self):
with app.app_context():
+ games = db.session.query(Game)
db.session.query(Game).delete()
id = self.players.default_id()
player_data = {f"player_{i+1}": id for i in range(4)}
@@ -38,9 +39,10 @@ class Session:
db.session.commit()
def round(self) -> int:
- games = db.session.query(Game).filter(func.date(Game.date) == date.today()).all()
+ games = (
+ db.session.query(Game).filter(func.date(Game.date) == date.today()).all()
+ )
round_id = max([game.round_id for game in games])
- print(round_id)
if round_id is None:
raise ValueError(f"Database isn't initialized")
return round_id
@@ -60,7 +62,7 @@ class Session:
p = db.session.get(Player, getattr(game, f"player_{i+1}"))
if p is None:
raise ValueError(f"Player id mismatch.")
- dp.append(p)
+ dp.append(p)
t1 = DisplayTeam(DisplayPlayer(dp[0]), DisplayPlayer(dp[1]))
t2 = DisplayTeam(DisplayPlayer(dp[2]), DisplayPlayer(dp[3]))
db.session.get(Player, game.player_2)
@@ -72,8 +74,6 @@ class Session:
reserved_games = get_placeholder_games(reserved_courts, "RESERVED")
active_courts = self.courts.active()
active_players = self.players.active()
- for player in active_players:
- print(player)
game_count = floor(len(active_players) / app.config["PLAYERS_PER_COURT"])
game_count = min(len(active_courts), game_count)
used_courts = active_courts[:game_count]
@@ -93,8 +93,18 @@ class Session:
def confirm(self) -> list[DisplayGame]:
if len(self.proposal) == 0:
return self.all()
+ round_number = self.round() + 1
for game in self.proposal:
- db.session.add(game)
+ db.session.add(
+ Game(
+ round_number,
+ game.court_id,
+ game.team_1.player_1.id,
+ game.team_1.player_2.id,
+ game.team_2.player_1.id,
+ game.team_2.player_2.id,
+ )
+ )
db.session.commit()
self.proposal = []
return self.all()