diff options
Diffstat (limited to 'web-project/src')
| -rw-r--r-- | web-project/src/solo_tool_web.py | 15 | 
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(): | 
