fix assets not showing up in build

This commit is contained in:
Vxrtrauter
2026-01-17 15:26:08 +01:00
parent 1c1ce3e69d
commit 0d631e0ab8
3 changed files with 21 additions and 11 deletions
+8
View File
@@ -103,9 +103,13 @@ jobs:
run: | run: |
pyinstaller --onefile --windowed \ pyinstaller --onefile --windowed \
--add-data "build_info.json;." \ --add-data "build_info.json;." \
--add-data "build_info.json;core" \
--add-data "build_info.json;core/interface" \
--add-data "deps/aria2c.exe;." \ --add-data "deps/aria2c.exe;." \
--add-data "core/interface/assets;core/interface/assets" \ --add-data "core/interface/assets;core/interface/assets" \
--icon "core/interface/assets/logo.png" \ --icon "core/interface/assets/logo.png" \
--exclude-module PyQt6 \
--exclude-module PyQt5 \
--hidden-import=backports.tarfile \ --hidden-import=backports.tarfile \
--hidden-import=backports \ --hidden-import=backports \
--hidden-import=jaraco.context \ --hidden-import=jaraco.context \
@@ -120,8 +124,12 @@ jobs:
run: | run: |
pyinstaller --onefile --windowed \ pyinstaller --onefile --windowed \
--add-data "build_info.json:." \ --add-data "build_info.json:." \
--add-data "build_info.json:core" \
--add-data "build_info.json:core/interface" \
--add-data "core/interface/assets:core/interface/assets" \ --add-data "core/interface/assets:core/interface/assets" \
--icon "core/interface/assets/logo.png" \ --icon "core/interface/assets/logo.png" \
--exclude-module PyQt6 \
--exclude-module PyQt5 \
--hidden-import=backports.tarfile \ --hidden-import=backports.tarfile \
--hidden-import=backports \ --hidden-import=backports \
--hidden-import=jaraco.context \ --hidden-import=jaraco.context \
+4
View File
@@ -214,3 +214,7 @@ __marimo__/
*.sublime-project *.sublime-project
*.code-workspace *.code-workspace
*.swp *.swp
# Local build files
build-local.ps1
build-local.bat
+9 -11
View File
@@ -72,18 +72,16 @@ class MainWindow(QtWidgets.QMainWindow, QWidget):
self.log_signal.connect(self._on_log_signal) self.log_signal.connect(self._on_log_signal)
def get_asset_path(filename): def get_asset_path(filename):
if getattr(sys, 'frozen', False):
base_path = sys._MEIPASS
else:
base_path = os.path.dirname(__file__)
asset_paths = [ asset_path = os.path.join(base_path, 'core', 'interface', 'assets', filename)
os.path.join('core/interface/assets', filename), if os.path.exists(asset_path):
os.path.join(os.path.dirname(__file__), '..', 'assets', filename), return asset_path
os.path.join(os.path.dirname(sys.executable), 'core/interface/assets', filename),
] return os.path.join('core', 'interface', 'assets', filename)
for path in asset_paths:
if os.path.exists(path):
return path
return asset_paths[0]
self.setWindowIcon(QIcon(get_asset_path("logo.png"))) self.setWindowIcon(QIcon(get_asset_path("logo.png")))