From 7e26db26c7ad57d75780734bf25431ddb71ddcec Mon Sep 17 00:00:00 2001 From: anthony-melin Date: Sun, 26 Jul 2026 15:24:44 +0200 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20use=20entrypoint=20to=20lo?= =?UTF-8?q?ad=20UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/elironwars/app.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/elironwars/app.py b/src/elironwars/app.py index cd22f2a..863dbe8 100644 --- a/src/elironwars/app.py +++ b/src/elironwars/app.py @@ -2,14 +2,17 @@ import argparse import logging import os import sys +from typing import Any -from .console import UI +from .entrypoints import Entrypoints from .level import Level from .menu import Action from .mob import BaseMob, load_character logger = logging.getLogger(__name__) +# FIXME replace this global declaration +UI: Any = None def play_room(room: list[BaseMob], level: Level) -> int: if room is None: @@ -55,12 +58,14 @@ def play_donjon(level: Level) -> None: def app() -> None: + entrypoints = Entrypoints() + parser = argparse.ArgumentParser( prog='elironwars', description='elironwars CLI', ) parser.add_argument('--player', default='Jamin') - parser.add_argument('--ui', default='cli') + parser.add_argument('--ui', default='console', choices=entrypoints.ui.names) parser.add_argument('--log-level', default='ERROR') args = parser.parse_args() @@ -72,6 +77,7 @@ def app() -> None: if not loaded_character: sys.exit(-1) + UI = entrypoints.load_ui(args.ui) UI.select_player(loaded_character) # Créer des instances de BaseMob