6 Commits

Author SHA1 Message Date
David Rodenkirchen 5d67238575 bump version 2026-04-18 16:31:37 +02:00
David Rodenkirchen fb5a5b0608 add FFA handling 2026-04-18 16:31:21 +02:00
David Rodenkirchen c0e39a2beb implement initial JSON generation at tournament start 2026-04-18 16:24:48 +02:00
David Rodenkirchen b071c30ce0 remove print 2026-04-18 16:23:49 +02:00
David Rodenkirchen db237b3535 handle byes 2026-04-18 16:08:57 +02:00
David Rodenkirchen a62f289ce8 Enable starting tournaments and displaying tournament tree 2026-04-18 15:53:56 +02:00
3 changed files with 3 additions and 19 deletions
-1
View File
@@ -31,7 +31,6 @@ services:
- database:/var/lib/mysql
- ./sql/create_database.sql:/docker-entrypoint-initdb.d/init.sql
- ./sql:/sql
- ./tournament_data:/opt/ezgg-lan-manager/tournament_data
volumes:
@@ -11,7 +11,7 @@ from src.ezgg_lan_manager.components.MainViewContentBox import MainViewContentBo
from src.ezgg_lan_manager.types.DateUtil import weekday_to_display_text
from src.ezgg_lan_manager.types.Participant import Participant
from src.ezgg_lan_manager.types.Tournament import Tournament
from src.ezgg_lan_manager.types.TournamentBase import TournamentStatus, TournamentError
from src.ezgg_lan_manager.types.TournamentBase import TournamentStatus
logger = logging.getLogger(__name__.split(".")[-1])
@@ -29,10 +29,7 @@ class ManageTournamentsPage(Component):
async def on_start_pressed(self, tournament_id: int) -> None:
logger.info(f"Starting tournament with ID {tournament_id}")
try:
await self.session[TournamentService].start_tournament(tournament_id)
except TournamentError as e:
logger.error(f"Error trying to start tournament: {e}")
await self.session[TournamentService].start_tournament(tournament_id)
async def on_cancel_pressed(self, tournament_id: int) -> None:
logger.info(f"Canceling tournament with ID {tournament_id}")
@@ -95,16 +92,8 @@ class ManageTournamentsPage(Component):
font_size=1.2
),
margin_top=2,
margin_bottom=1,
align_x=0.5
),
Button(
content="Cache erneuern",
shape="rectangle",
style="colored-text",
margin_bottom=2,
align_x=0.5,
on_press=self.session[TournamentService].queue_cache_renewal
align_x=0.5
),
*tournament_rows
)
@@ -21,10 +21,6 @@ class TournamentService:
# Crude cache mechanism. If performance suffers, maybe implement a queue with Single-Owner-Pattern or a Lock
self._cache: dict[int, Tournament] = {}
self._cache_dirty: bool = True # Setting this flag invokes cache update on next read
async def queue_cache_renewal(self) -> None:
# Used in admin UI to provoke cache renewal after direct database access
self._cache_dirty = True
async def _update_cache(self) -> None:
tournaments = await self._db_service.get_all_tournaments()