aboutsummaryrefslogtreecommitdiff
path: root/src/match_up/model.py
diff options
context:
space:
mode:
authorKaran Jayachandra <mail@karanjayachandra.com>2024-12-02 17:44:24 +0100
committerKaran Jayachandra <mail@karanjayachandra.com>2024-12-02 17:44:24 +0100
commit6ebbee2016b0232573ad1d322b4d4ca6287b3599 (patch)
treecc3276b56e97bc64434a51d7e9c3c89da2c082c9 /src/match_up/model.py
parent7b8bbe6db3680af65c3701afbcd31ac1f61773af (diff)
Added the guests with history and level
Diffstat (limited to 'src/match_up/model.py')
-rw-r--r--src/match_up/model.py34
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))