mirror of
https://github.com/onyx-and-iris/lottery-tui.git
synced 2026-02-26 02:59:10 +00:00
should we get a ValueError when requesting a lottery object allow it to bubble up.
patch bump
This commit is contained in:
parent
2e0052b5fe
commit
67b3887bc8
43
pdm.lock
generated
43
pdm.lock
generated
@ -5,11 +5,23 @@
|
||||
groups = ["default"]
|
||||
strategy = ["inherit_metadata"]
|
||||
lock_version = "4.5.0"
|
||||
content_hash = "sha256:842afa14523f463c1a73e53c7aeb6d697673d95a2db9adbf935807b1fe5d021a"
|
||||
content_hash = "sha256:6cd4ed6668a18d93170023df0e7cf183ac36d04df220f4dcb4c091eb6623b65f"
|
||||
|
||||
[[metadata.targets]]
|
||||
requires_python = "==3.13.*"
|
||||
|
||||
[[package]]
|
||||
name = "colorama"
|
||||
version = "0.4.6"
|
||||
requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
|
||||
summary = "Cross-platform colored terminal text."
|
||||
groups = ["default"]
|
||||
marker = "sys_platform == \"win32\" and python_version == \"3.13\""
|
||||
files = [
|
||||
{file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
|
||||
{file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "linkify-it-py"
|
||||
version = "2.0.3"
|
||||
@ -25,6 +37,23 @@ files = [
|
||||
{file = "linkify_it_py-2.0.3-py3-none-any.whl", hash = "sha256:6bcbc417b0ac14323382aef5c5192c0075bf8a9d6b41820a2b66371eac6b6d79"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "loguru"
|
||||
version = "0.7.3"
|
||||
requires_python = "<4.0,>=3.5"
|
||||
summary = "Python logging made (stupidly) simple"
|
||||
groups = ["default"]
|
||||
marker = "python_version == \"3.13\""
|
||||
dependencies = [
|
||||
"aiocontextvars>=0.2.0; python_version < \"3.7\"",
|
||||
"colorama>=0.3.4; sys_platform == \"win32\"",
|
||||
"win32-setctime>=1.0.0; sys_platform == \"win32\"",
|
||||
]
|
||||
files = [
|
||||
{file = "loguru-0.7.3-py3-none-any.whl", hash = "sha256:31a33c10c8e1e10422bfd431aeb5d351c7cf7fa671e3c4df004162264b28220c"},
|
||||
{file = "loguru-0.7.3.tar.gz", hash = "sha256:19480589e77d47b8d85b2c827ad95d49bf31b0dcde16593892eb51dd18706eb6"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "markdown-it-py"
|
||||
version = "4.0.0"
|
||||
@ -167,3 +196,15 @@ files = [
|
||||
{file = "uc-micro-py-1.0.3.tar.gz", hash = "sha256:d321b92cff673ec58027c04015fcaa8bb1e005478643ff4a500882eaab88c48a"},
|
||||
{file = "uc_micro_py-1.0.3-py3-none-any.whl", hash = "sha256:db1dffff340817673d7b466ec86114a9dc0e9d4d9b5ba229d9d60e5c12600cd5"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "win32-setctime"
|
||||
version = "1.2.0"
|
||||
requires_python = ">=3.5"
|
||||
summary = "A small Python utility to set file creation time on Windows"
|
||||
groups = ["default"]
|
||||
marker = "sys_platform == \"win32\" and python_version == \"3.13\""
|
||||
files = [
|
||||
{file = "win32_setctime-1.2.0-py3-none-any.whl", hash = "sha256:95d644c4e708aba81dc3704a116d8cbc974d70b3bdb8be1d150e36be6e9d1390"},
|
||||
{file = "win32_setctime-1.2.0.tar.gz", hash = "sha256:ae1fdf948f5640aae05c511ade119313fb6a30d7eabe25fef9764dca5873c4c0"},
|
||||
]
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
[project]
|
||||
name = "lottery-tui"
|
||||
version = "0.2.3"
|
||||
version = "0.2.4"
|
||||
description = "A terminal user interface for lottery games."
|
||||
authors = [{ name = "onyx-and-iris", email = "code@onyxandiris.online" }]
|
||||
dependencies = ["textual>=8.0.0"]
|
||||
dependencies = ["textual>=8.0.0", "loguru>=0.7.3"]
|
||||
requires-python = ">=3.10"
|
||||
readme = "README.md"
|
||||
license = { text = "MIT" }
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
from loguru import logger
|
||||
from rich.text import Text
|
||||
from textual.app import App, ComposeResult
|
||||
from textual.containers import Container
|
||||
from textual.widgets import Button, Label, Select, Static
|
||||
@ -37,21 +39,31 @@ class LotteryTUI(App):
|
||||
def on_button_pressed(self, event):
|
||||
"""Handle button press events."""
|
||||
if event.button.id == 'draw-button':
|
||||
if self.query_one('#lottery-select').is_blank():
|
||||
self.query_one('#result-label').update(
|
||||
'Please select a lottery before drawing.'
|
||||
)
|
||||
return
|
||||
self._draw_button_handler()
|
||||
|
||||
selected_lottery = self.query_one('#lottery-select').value
|
||||
def _draw_button_handler(self):
|
||||
"""Handle the draw button press."""
|
||||
if self.query_one('#lottery-select').is_blank():
|
||||
self._update_result_label(
|
||||
Text('Please select a lottery before drawing.', style='bold #ff8c42')
|
||||
)
|
||||
return
|
||||
|
||||
try:
|
||||
lottery_obj = request_lottery_obj(selected_lottery)
|
||||
result = lottery_obj.draw()
|
||||
except ValueError as e:
|
||||
self.query_one('#result-label').update(str(e))
|
||||
selected_lottery = self.query_one('#lottery-select').value
|
||||
|
||||
self.query_one('#result-label').update(str(result))
|
||||
try:
|
||||
lottery_obj = request_lottery_obj(selected_lottery)
|
||||
except ValueError:
|
||||
ERR_MSG = f'Invalid lottery selection: {selected_lottery}'
|
||||
logger.exception(ERR_MSG)
|
||||
raise
|
||||
|
||||
result = lottery_obj.draw()
|
||||
self._update_result_label(str(result))
|
||||
|
||||
def _update_result_label(self, message: str):
|
||||
"""Update the result label with a new message."""
|
||||
self.query_one('#result-label').update(message)
|
||||
|
||||
|
||||
def main():
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user