diff --git a/main.py b/main.py index 757eebd..1b372be 100644 --- a/main.py +++ b/main.py @@ -5,7 +5,7 @@ from dotenv import load_dotenv from dom5game import Dom5game from servermanager import create_server from nicegui import ui -from ui import create_ui +from webui import create_ui import threading @@ -15,16 +15,18 @@ load_dotenv() TOKEN = os.getenv("TOKEN") bot.tracked_games = [] +bot.tracked_games_lock = threading.Lock() def reload_games(): - bot.tracked_games = [] - for _, _, files in os.walk("games"): - for name in files: - if name.endswith("json"): - bot.tracked_games.append( - Dom5game.load_json("games/" + name[:-5] + "/" + name) - ) + with bot.tracked_games_lock: + bot.tracked_games = [] + for _, _, files in os.walk("games"): + for name in files: + if name.endswith("json"): + bot.tracked_games.append( + Dom5game.load_json("games/" + name[:-5] + "/" + name) + ) @bot.event diff --git a/ui.py b/ui.py deleted file mode 100644 index 4365e7e..0000000 --- a/ui.py +++ /dev/null @@ -1,5 +0,0 @@ -from nicegui import ui - - -def create_ui(): - ui.label("Amogus") diff --git a/webui.py b/webui.py new file mode 100644 index 0000000..187eadb --- /dev/null +++ b/webui.py @@ -0,0 +1,17 @@ +from nicegui import ui +from main import bot + +# reminder: +# tracked_games etc erst in andere variable kopieren und lock benutzen. + + +def create_ui(): + ui.label("Amogus") + + with bot.tracked_games_lock: + games = list(bot.tracked_games) + rows = [] + for game in games: + rows.append({"Name": game.name}) + + ui.table(rows=rows)