aboutsummaryrefslogtreecommitdiff
path: root/src/match_up/utilities.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/match_up/utilities.py')
-rw-r--r--src/match_up/utilities.py45
1 files changed, 22 insertions, 23 deletions
diff --git a/src/match_up/utilities.py b/src/match_up/utilities.py
index db7c76a..9fc31fa 100644
--- a/src/match_up/utilities.py
+++ b/src/match_up/utilities.py
@@ -1,6 +1,6 @@
from typing import Tuple
from pandas import read_csv
-from random import shuffle, choice
+from random import shuffle
from random import randint, getrandbits
from names import get_first_name, get_last_name
from match_up.data import (
@@ -11,6 +11,8 @@ from match_up.data import (
MIN_LEVEL,
MAX_LEVEL,
PLAYER_PER_COURT,
+ GUESTS_PER_LEVEL,
+ GUEST_LEVELS,
)
@@ -85,28 +87,6 @@ def _create_games(courts: dict, players: list[Player], levels: int) -> list[Game
return games
-def generate_guest_type(count: int, level: int, description: str):
- base_id = level * 10000
- return [
- Player(
- id=base_id + i,
- first=description,
- last=f"{i + 1}",
- level=level,
- status=True,
- count=choice([0, 1000]),
- )
- for i in range(count)
- ]
-
-
-def generate_guests(guests):
- beginner_guests = generate_guest_type(guests[1], 1, "Beginner")
- novice_guests = generate_guest_type(guests[3], 3, "Novice")
- intermediate_guests = generate_guest_type(guests[5], 3, "Intermediate")
- return beginner_guests + novice_guests + intermediate_guests
-
-
def _textualize_guest(level, value) -> str:
match level:
case 1:
@@ -120,6 +100,23 @@ def _textualize_guest(level, value) -> str:
return f"{value} {text}"
+def _init_guests(session) -> None:
+ for level_id, level in enumerate(GUEST_LEVELS):
+ for player_id in range(GUESTS_PER_LEVEL):
+ unique_id = (level_id * GUESTS_PER_LEVEL) + player_id + 1
+ id = 1000 + unique_id
+ player = Player(
+ id=id,
+ first="Guest",
+ last=str(unique_id),
+ level=level,
+ status=False,
+ count=0,
+ )
+ session.add(player)
+ session.commit()
+
+
def _init_database_from_csv(session, csv_location: str) -> None:
data = read_csv(csv_location)
session.query(Player).delete()
@@ -134,6 +131,7 @@ def _init_database_from_csv(session, csv_location: str) -> None:
)
session.add(player)
session.commit()
+ _init_guests(session)
def _init_random_database(session, player_count: int = 80) -> None:
@@ -148,3 +146,4 @@ def _init_random_database(session, player_count: int = 80) -> None:
)
session.add(player)
session.commit()
+ _init_guests(session)