From 6ebbee2016b0232573ad1d322b4d4ca6287b3599 Mon Sep 17 00:00:00 2001 From: Karan Jayachandra Date: Mon, 2 Dec 2024 17:44:24 +0100 Subject: Added the guests with history and level --- src/match_up/utilities.py | 45 ++++++++++++++++++++++----------------------- 1 file changed, 22 insertions(+), 23 deletions(-) (limited to 'src/match_up/utilities.py') 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) -- cgit v1.3.1