diff options
| author | Karan Jayachandra <mail@karanjayachandra.com> | 2024-12-02 17:44:24 +0100 |
|---|---|---|
| committer | Karan Jayachandra <mail@karanjayachandra.com> | 2024-12-02 17:44:24 +0100 |
| commit | 6ebbee2016b0232573ad1d322b4d4ca6287b3599 (patch) | |
| tree | cc3276b56e97bc64434a51d7e9c3c89da2c082c9 /src/match_up/model.py | |
| parent | 7b8bbe6db3680af65c3701afbcd31ac1f61773af (diff) | |
Added the guests with history and level
Diffstat (limited to 'src/match_up/model.py')
| -rw-r--r-- | src/match_up/model.py | 34 |
1 files changed, 7 insertions, 27 deletions
diff --git a/src/match_up/model.py b/src/match_up/model.py index c42823b..4ac8c54 100644 --- a/src/match_up/model.py +++ b/src/match_up/model.py @@ -5,12 +5,7 @@ from dataclasses import dataclass from importlib.resources import path from sqlalchemy.orm import sessionmaker from sqlalchemy import create_engine, not_ -from match_up.utilities import ( - generate_guests, - _init_database_from_csv, - _init_random_database, - _textualize_guest, -) +from match_up.utilities import _init_database_from_csv, _init_random_database from match_up.data import ( Player, DisplayPlayer, @@ -44,7 +39,6 @@ class CourtList: class PlayerList: - guest_count: dict = {1: 0, 3: 0, 5: 0} def __init__(self, csv_location=None) -> None: with path("match_up", "players.db") as p: @@ -64,16 +58,6 @@ class PlayerList: BASE.metadata.create_all(bind=engine) self.session = sessionmaker(bind=engine)() - def increment_guests(self, level: int): - self.guest_count[level] = self.guest_count[level] + 1 - return _textualize_guest(level, self.guest_count[level]) - - def decrement_guests(self, level: int): - if self.guest_count[level] == 0: - return 0 - self.guest_count[level] = self.guest_count[level] - 1 - return _textualize_guest(level, self.guest_count[level]) - def get_player_status(self, id: int) -> bool: return self.session.query(Player).filter(Player.id == id).first().status @@ -83,14 +67,17 @@ class PlayerList: self.session.commit() return DisplayPlayer(player) - def get_all_players(self) -> list[DisplayPlayer]: + def get_all_players(self) -> Tuple[list[DisplayPlayer], list[DisplayPlayer]]: all_players = [ DisplayPlayer(p) for p in self.session.query(Player) .order_by(Player.first, Player.last) .all() ] - return all_players + regulars = [player for player in all_players if player.first != "Guest"] + guests = [player for player in all_players if player.first == "Guest"] + guests.sort(key=lambda x: int(x.last)) + return regulars, guests def get_possible_game_count(self) -> int: total_players = len(self.get_players()) @@ -104,14 +91,7 @@ class PlayerList: .filter(not_(Player.status == 0)) .all() ) - guests = generate_guests(self.guest_count) - return active_players + guests - - def get_guests(self): - return { - level: _textualize_guest(level, self.guest_count[level]) - for level in self.guest_count - } + return active_players def increment_game_count(self, player_ids: list[int]): players = self.session.query(Player).filter(Player.id.in_(player_ids)) |
