aboutsummaryrefslogtreecommitdiffstats
path: root/web-project/src/solo_tool_web.py
diff options
context:
space:
mode:
Diffstat (limited to 'web-project/src/solo_tool_web.py')
-rw-r--r--web-project/src/solo_tool_web.py15
1 files changed, 6 insertions, 9 deletions
diff --git a/web-project/src/solo_tool_web.py b/web-project/src/solo_tool_web.py
index 5512408..7b36b75 100644
--- a/web-project/src/solo_tool_web.py
+++ b/web-project/src/solo_tool_web.py
@@ -2,7 +2,7 @@ import sys
from os import getenv
from os.path import basename, splitext
from functools import partial
-from nicegui import ui
+from nicegui import ui, events
from starlette.formparsers import MultiPartParser
import click
@@ -45,13 +45,9 @@ def sessionPage(sessionName: str):
st = sessions[sessionName]
# Upload song dialog
- def handleFileUpload(e):
- if False:
- from shutil import copyfileobj
- newSong = f"{SONG_POOL}/{e.name}"
- with open(newSong, "wb") as f:
- copyfileobj(e.content, f)
- st.addSong(newSong)
+ def handleFileUpload(e: events.UploadEventArguments):
+ sessionManager.addSong(e.name, e.content)
+ st.addSong(e.name)
with ui.dialog() as uploadSongDialog:
ui.upload(label="Upload songs", auto_upload=True, on_upload=handleFileUpload).classes('max-w-full')
@@ -63,7 +59,7 @@ def sessionPage(sessionName: str):
ui.label().bind_text_from(st, 'song', lambda index: fileName(st.songs[index]) if index is not None else "Select a song").classes('text-lg')
with ui.row().classes('items-center justify-start'):
ui.button(icon='home', on_click=lambda: ui.navigate.to("/")).props('flat dense round color=white')
- def save(): sessionManager.saveSession(st, f"{sessionName}.json")
+ def save(): sessionManager.saveSession(st, sessionName)
ui.button(icon='save', on_click=save).props('flat dense round color=white')
ui.button(icon='fullscreen', on_click=fullscreen.toggle).props('flat dense round color=white')
@@ -121,6 +117,7 @@ def landingPage():
ui.button(name, on_click=partial(ui.navigate.to, f"/{name}"))
def start(port, refresh, reload, session_path, song_path):
+ global sessionManager
sessionManager = getSessionManager(song_path, session_path)
for key in sessionManager.getSessions():