From 56028b2c52dd8f4f29f04e41de8daabe3da53733 Mon Sep 17 00:00:00 2001 From: onyx-and-iris Date: Sun, 22 Feb 2026 23:24:36 +0000 Subject: [PATCH] get Result kind name from class type, it's more flexible to change. patch bump --- pyproject.toml | 3 ++- src/lottery_tui/lottery.py | 16 ++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 5a0afac..a0df423 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "lottery-tui" -version = "0.2.4" +version = "0.2.5" description = "A terminal user interface for lottery games." authors = [{ name = "onyx-and-iris", email = "code@onyxandiris.online" }] dependencies = ["textual>=8.0.0", "loguru>=0.7.3"] @@ -13,6 +13,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", ] diff --git a/src/lottery_tui/lottery.py b/src/lottery_tui/lottery.py index f77a087..b1c44d5 100644 --- a/src/lottery_tui/lottery.py +++ b/src/lottery_tui/lottery.py @@ -17,7 +17,7 @@ class Result(NamedTuple): match self.kind: case 'EuroMillions': bonus_name = 'Lucky Stars' - case 'Set For Life': + case 'SetForLife': bonus_name = 'Life Ball' case 'Thunderball': bonus_name = 'Thunderball' @@ -45,10 +45,10 @@ class Lottery(ABC): @register_lottery -class UKlotto(Lottery): +class UKLotto(Lottery): """A class representing the UK Lotto lottery. - Uk Lotto draws 6 numbers from a pool of 1 to 59, without replacement. + UK Lotto draws 6 numbers from a pool of 1 to 59, without replacement. There is no bonus number in UK Lotto. """ @@ -56,8 +56,8 @@ class UKlotto(Lottery): def draw(self) -> Result: """Perform a UK Lotto draw.""" - result = random.sample(UKlotto.POSSIBLE_NUMBERS, 6) - return Result(kind='UK Lotto', numbers=result, bonus=None) + result = random.sample(UKLotto.POSSIBLE_NUMBERS, 6) + return Result(kind=type(self).__name__, numbers=result, bonus=None) @register_lottery @@ -75,7 +75,7 @@ class EuroMillions(Lottery): """Perform a EuroMillions draw.""" numbers = random.sample(EuroMillions.POSSIBLE_NUMBERS, 5) bonus = random.sample(EuroMillions.POSSIBLE_BONUS_NUMBERS, 2) - return Result(kind='EuroMillions', numbers=numbers, bonus=bonus) + return Result(kind=type(self).__name__, numbers=numbers, bonus=bonus) @register_lottery @@ -92,7 +92,7 @@ class SetForLife(Lottery): """Perform a Set For Life draw.""" numbers = random.sample(SetForLife.POSSIBLE_NUMBERS, 5) life_ball = [random.randint(1, 10)] - return Result(kind='Set For Life', numbers=numbers, bonus=life_ball) + return Result(kind=type(self).__name__, numbers=numbers, bonus=life_ball) @register_lottery @@ -109,7 +109,7 @@ class Thunderball(Lottery): """Perform a Thunderball draw.""" numbers = random.sample(Thunderball.POSSIBLE_NUMBERS, 5) thunderball = [random.randint(1, 14)] - return Result(kind='Thunderball', numbers=numbers, bonus=thunderball) + return Result(kind=type(self).__name__, numbers=numbers, bonus=thunderball) def request_lottery_obj(lottery_name: str) -> Lottery: