diff options
| author | Karan Jayachandra <mail@karanjayachandra.com> | 2025-07-14 09:23:32 +0200 |
|---|---|---|
| committer | Karan Jayachandra <mail@karanjayachandra.com> | 2025-07-14 09:23:32 +0200 |
| commit | ec3af3f76ae1785bfb8c1dfbc69788e95fc7954d (patch) | |
| tree | d21468b10051184a5cb918d618e6b720539a3312 /app/model.py | |
| parent | d5d64f2b1047f864811d23f19f109a6513c22a2a (diff) | |
Working app, guests implementation pending
Diffstat (limited to 'app/model.py')
| -rw-r--r-- | app/model.py | 44 |
1 files changed, 32 insertions, 12 deletions
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): |
