- 모던 다크 미니멀 테마(NanumSquare 번들, 단일 accent #4DABF7, 8px radius, flat 버튼, 다크 기본값) - 라인 아이콘 시스템(ui/icons.py, QtSvg) — 앱 전반 이모지 교체 - 다크 깨짐 수정: 테이블 헤더/코너 흰색, 도움말 탭 흰 라인, 트레이/미니위젯 메뉴 - fix: 자동 적립 OFF가 자동 퇴근 경로에서 무시되던 버그(게이팅) - feat: 연장근무 적립 기록 삭제(우클릭) - 테스트 3건 추가 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
68 lines
1.9 KiB
Python
68 lines
1.9 KiB
Python
# -*- mode: python ; coding: utf-8 -*-
|
|
# Build order: updater.spec FIRST, then main.spec.
|
|
# main.exe embeds dist/updater.exe so users can deploy main.exe alone;
|
|
# the embedded updater is auto-extracted next to main.exe on first launch.
|
|
import os
|
|
|
|
# release.ps1 stages updater.exe at build/staging/updater.exe
|
|
# (avoids PyInstaller --clean wiping dist/updater.exe before main build).
|
|
_extra_datas = []
|
|
_staged = 'build/staging/updater.exe'
|
|
_fallback = 'dist/updater.exe'
|
|
if os.path.exists(_staged):
|
|
_extra_datas.append((_staged, '.'))
|
|
elif os.path.exists(_fallback):
|
|
_extra_datas.append((_fallback, '.'))
|
|
|
|
# 번들 폰트 (NanumSquare) — utils/font_loader.py 가 _MEIPASS/font/ 에서 로드
|
|
_font_files = [
|
|
'NanumSquareL.ttf', 'NanumSquareR.ttf', 'NanumSquareB.ttf', 'NanumSquareEB.ttf',
|
|
'NanumSquare_acR.ttf', 'NanumSquare_acB.ttf',
|
|
]
|
|
_font_datas = [
|
|
(os.path.join('font', f), 'font')
|
|
for f in _font_files if os.path.exists(os.path.join('font', f))
|
|
]
|
|
|
|
a = Analysis(
|
|
['main.py'],
|
|
pathex=[],
|
|
binaries=[],
|
|
datas=[('3d-alarm.png', '.')] + _extra_datas + _font_datas,
|
|
hiddenimports=[
|
|
'holidays', 'holidays.countries.south_korea',
|
|
'win32evtlog', 'win32evtlogutil',
|
|
'matplotlib.backends.backend_qt5agg',
|
|
'PyQt5.QtSvg',
|
|
],
|
|
hookspath=[],
|
|
hooksconfig={},
|
|
runtime_hooks=[],
|
|
excludes=['pandas', 'numpy.testing', 'PyQt5.QtWebEngineWidgets'],
|
|
noarchive=False,
|
|
optimize=0,
|
|
)
|
|
pyz = PYZ(a.pure)
|
|
|
|
exe = EXE(
|
|
pyz,
|
|
a.scripts,
|
|
a.binaries,
|
|
a.datas,
|
|
[],
|
|
name='main',
|
|
debug=False,
|
|
bootloader_ignore_signals=False,
|
|
strip=False,
|
|
upx=True,
|
|
upx_exclude=[],
|
|
runtime_tmpdir=None,
|
|
console=False,
|
|
disable_windowed_traceback=False,
|
|
argv_emulation=False,
|
|
target_arch=None,
|
|
codesign_identity=None,
|
|
entitlements_file=None,
|
|
icon=['3d-alarm.ico'],
|
|
)
|