From ec3af3f76ae1785bfb8c1dfbc69788e95fc7954d Mon Sep 17 00:00:00 2001 From: Karan Jayachandra Date: Mon, 14 Jul 2025 09:23:32 +0200 Subject: Working app, guests implementation pending --- app/model.py | 44 ++++++++++++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 12 deletions(-) (limited to 'app/model.py') diff --git a/app/model.py b/app/model.py index 56921f4..2f8c609 100644 --- a/app/model.py +++ b/app/model.py @@ -74,7 +74,15 @@ class Player(db.Model): status: Mapped[bool] = mc(Boolean) level: Mapped[int] = mc(Integer) - def __init__(self, id, first_name, last_name, team = 0, status = False, level = int(app.config["MIN_PLAYER_LEVEL"])): + def __init__( + self, + id, + first_name, + last_name, + team=0, + status=False, + level=int(app.config["MIN_PLAYER_LEVEL"]), + ): self.id = id self.first_name = first_name self.last_name = last_name @@ -124,11 +132,15 @@ class Players: if app.config["DATABASE_CSV"] is not None: data = read_csv(app.config["DATABASE_CSV"]) db.session.query(Player).delete() - db.session.add(Player(**{"id": 0, "first_name": "---", "last_name": ""})) - db.session.add(Player(**{"id": 1, "first_name": "RESERVED", "last_name": ""})) + db.session.add( + Player(**{"id": 0, "first_name": "---", "last_name": ""}) + ) + db.session.add( + Player(**{"id": 1, "first_name": "RESERVED", "last_name": ""}) + ) for entry in data.to_dict("records"): args = entry | {"status": False} - db.session.add(Player(**args)) + db.session.add(Player(**args)) # type: ignore db.session.commit() else: if len(self.all()) == 0: @@ -163,12 +175,13 @@ class Players: return player def all(self) -> Tuple[list[Player], list[Player]]: - regulars = [ - p for p in db.session.query(Player).where(Player.first_name != "Guest") - ] - guests = [ - p for p in db.session.query(Player).where(Player.first_name == "Guest") - ] + players = ( + db.session.query(Player) + .where(Player.id > 1) + .order_by(Player.first_name, Player.last_name) + ) + regulars = [p for p in players if p.first_name != "Guest"] + guests = [p for p in players if p.first_name == "Guest"] guests.sort(key=lambda x: int(x.last_name)) return regulars, guests @@ -196,7 +209,15 @@ class Game(db.Model): player_4: Mapped[int] = mc(ForeignKey(Player.id), index=True) date: Mapped[datetime] = mc(index=True, default=lambda: date.today()) - def __init__(self, round_id: int, court_id: int, player_1: int, player_2: int, player_3: int, player_4: int): + def __init__( + self, + round_id: int, + court_id: int, + player_1: int, + player_2: int, + player_3: int, + player_4: int, + ): self.round_id = round_id self.court_id = court_id self.player_1 = player_1 @@ -205,7 +226,6 @@ class Game(db.Model): self.player_4 = player_4 - class DisplayPlayer: def __init__(self, player: Player): -- cgit v1.3.1