aboutsummaryrefslogtreecommitdiff
path: root/src/match_up/model.py
diff options
context:
space:
mode:
authorKaran Jayachandra <karan.jayachandra@nxp.com>2024-04-05 10:12:17 +0200
committerKaran Jayachandra <karan.jayachandra@nxp.com>2024-04-05 10:12:17 +0200
commit6dcdffeea79c76436fccaad5b382af709af8c121 (patch)
treeff3191f8fa6bdecd8f32c959d626c38aa63a5567 /src/match_up/model.py
parentbd3bd7de2fdb6cdb181a9b02b627c98c712f3739 (diff)
Updated the code the be in the right place for the data model
Diffstat (limited to 'src/match_up/model.py')
-rw-r--r--src/match_up/model.py68
1 files changed, 59 insertions, 9 deletions
diff --git a/src/match_up/model.py b/src/match_up/model.py
index 924e674..181b698 100644
--- a/src/match_up/model.py
+++ b/src/match_up/model.py
@@ -3,6 +3,27 @@ from tinydb import TinyDB, where
from dataclasses import dataclass
+class PlaySession:
+ def __init__(self, database_location: PurePath):
+ self.data = PlayerDatabase(database_location)
+
+ def start_round(self): ...
+
+ def end_round(self): ...
+
+ def end(self):
+ self.data.close()
+
+ def __str__(self):
+ display_string = ""
+ for player in self.data.get_players():
+ display_string = display_string + player.__str__() + "\n"
+ return display_string.rstrip()
+
+ def __del__(self):
+ self.end()
+
+
@dataclass
class Player:
first_name: str
@@ -31,6 +52,38 @@ class PlayerDatabase:
)
return player_list
+ def activate_player(self, player: Player):
+ self._database.update(
+ {"status": True},
+ where("first_name") == player.first_name
+ and where("last_name") == player.last_name,
+ )
+
+ def deactivate_player(self, player: Player):
+ self._database.update(
+ {"wait_time": False},
+ where("first_name") == player.first_name
+ and where("last_name") == player.last_name,
+ )
+
+ def increment_player_wait(self, player: Player):
+ self._database.update(
+ {"wait_time": 1},
+ where("first_name") == player.first_name
+ and where("last_name") == player.last_name,
+ )
+
+ def reset_player_wait(self, player: Player):
+ self._database.update(
+ {"wait_time": 0},
+ where("first_name") == player.first_name
+ and where("last_name") == player.last_name,
+ )
+
+ def deactivate_all_players(self) -> bool:
+ for row in self._database:
+ row["status"] = False
+
def add_player(self, player: Player) -> bool:
self._database.insert(
{
@@ -48,15 +101,12 @@ class PlayerDatabase:
and where("last_name") == player.last_name
)
- def update_player_skill(self, player: Player): ...
-
- def activate_player(self, player: Player): ...
-
- def deactivate_player(self, player: Player): ...
-
- def deactivate_all_players(self) -> bool:
- for row in self._database:
- row["status"] = False
+ def update_player_skill(self, player: Player):
+ self._database.update(
+ {"skill": player.skill},
+ where("first_name") == player.first_name
+ and where("last_name") == player.last_name,
+ )
def close(self) -> None:
self._database.close()