mower-ng/webui_zip.spec
Zhao Zuohong e6ba5600ed
Some checks failed
代码格式检查与测试 / ruff (push) Has been cancelled
代码格式检查与测试 / prettier (push) Has been cancelled
代码格式检查与测试 / unittest (push) Has been cancelled
迁移仓库
2024-08-09 03:59:24 +08:00

142 lines
3 KiB
Python

# -*- mode: python ; coding: utf-8 -*-
from pathlib import Path
import rapidocr_onnxruntime
block_cipher = None
# 参考 https://github.com/RapidAI/RapidOCR/blob/main/ocrweb/rapidocr_web/ocrweb.spec
package_name = "rapidocr_onnxruntime"
install_dir = Path(rapidocr_onnxruntime.__file__).resolve().parent
onnx_paths = list(install_dir.rglob("*.onnx"))
yaml_paths = list(install_dir.rglob("*.yaml"))
onnx_add_data = [(str(v.parent), f"{package_name}/{v.parent.name}") for v in onnx_paths]
yaml_add_data = []
for v in yaml_paths:
if package_name == v.parent.name:
yaml_add_data.append((str(v.parent / "*.yaml"), package_name))
else:
yaml_add_data.append(
(str(v.parent / "*.yaml"), f"{package_name}/{v.parent.name}")
)
add_data = list(set(yaml_add_data + onnx_add_data))
site_packages = install_dir.parent
mower_a = Analysis(
["webview_ui.py"],
pathex=[],
binaries=[],
datas=[
("arknights_mower", "arknights_mower"),
("logo.png", "."),
(
f"{site_packages}/onnxruntime/capi/onnxruntime_providers_shared.dll",
"onnxruntime/capi/",
),
(f"{site_packages}/pyzbar/libzbar-64.dll", "."),
(f"{site_packages}/pyzbar/libiconv.dll", "."),
]
+ add_data,
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False,
)
mower_pure = [i for i in mower_a.pure if not i[0].startswith("arknights_mower")]
mower_pyz = PYZ(
mower_pure,
mower_a.zipped_data,
cipher=block_cipher,
)
mower_exe = EXE(
mower_pyz,
mower_a.scripts,
[],
exclude_binaries=True,
name="mower",
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=False,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
icon="logo.ico",
)
manager_a = Analysis(
["manager.py"],
pathex=[],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False,
)
manager_pyz = PYZ(
manager_a.pure,
manager_a.zipped_data,
cipher=block_cipher,
)
manager_exe = EXE(
manager_pyz,
manager_a.scripts,
[],
exclude_binaries=True,
name="多开管理器",
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=False,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
icon="logo.ico",
)
coll = COLLECT(
mower_exe,
mower_a.binaries,
mower_a.zipfiles,
mower_a.datas,
manager_exe,
manager_a.binaries,
manager_a.zipfiles,
manager_a.datas,
strip=False,
upx=True,
upx_exclude=[],
name="mower",
)