mirror of
https://github.com/Dvorinka/swingmusic-extended.git
synced 2026-06-03 20:13:02 +00:00
4c04287800
- Move backend code to swingmusic/ folder - Move client applications to root level (swingmusic-android, swingmusic-desktop, swingmusic-webclient) - Remove intermediate backend/ and clients/ folders - Update README with new folder structure and setup instructions - Clean and organized repository layout
28 lines
890 B
Python
28 lines
890 B
Python
# Launcher script
|
|
import sys
|
|
import zipfile
|
|
import multiprocessing
|
|
from pathlib import Path
|
|
import swingmusic.__main__ as app
|
|
|
|
if __name__ == "__main__":
|
|
# Fixed: freeze_support() must be called immediately to prevent
|
|
# recursive process spawning and ArgumentParser errors on Windows EXE.
|
|
multiprocessing.freeze_support()
|
|
|
|
# this entry should only be used by pyinstaller.
|
|
# add freeze support here as pyinstaller uses this entry
|
|
|
|
if getattr(sys, "frozen", False) and hasattr(sys, "_MEIPASS"):
|
|
# INFO: extract client.zip to sys._MEIPASS
|
|
with zipfile.ZipFile(sys._MEIPASS + "/client.zip", "r") as zip_ref:
|
|
zip_ref.extractall(sys._MEIPASS)
|
|
|
|
client = Path(sys._MEIPASS) / "client"
|
|
client_str = str(client)
|
|
|
|
sys.argv.extend(["--client", client_str])
|
|
sys.orig_argv.extend(["--client", client_str])
|
|
|
|
app.run()
|