Skip to content

Commit 3e3ba77

Browse files
committed
refactor: streamline site-packages dependency handling and data list construction
1 parent 557e193 commit 3e3ba77

File tree

1 file changed

+33
-21
lines changed

1 file changed

+33
-21
lines changed

KickViewerBOT-macOS.spec

Lines changed: 33 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -21,32 +21,44 @@ try:
2121
except ImportError:
2222
tls_client_binaries = []
2323

24-
# Check if we're in a virtual environment
25-
if hasattr(sys, 'real_prefix') or (hasattr(sys, 'base_prefix') and sys.base_prefix != sys.prefix):
26-
# We're in a virtual environment
27-
if sys.platform == "win32":
28-
site_packages = os.path.join(sys.prefix, 'Lib', 'site-packages')
29-
else:
30-
site_packages = os.path.join(sys.prefix, 'lib', f'python{sys.version_info.major}.{sys.version_info.minor}', 'site-packages')
31-
else:
32-
# We're not in a virtual environment, use default paths
33-
import site
34-
site_packages = site.getsitepackages()[0]
24+
# Use the current Python environment's site-packages (works for venv and CI)
25+
import site
26+
site_packages = site.getsitepackages()[0]
27+
28+
# Build data list with existence checks
29+
datas = [
30+
('backend', '.'),
31+
]
32+
33+
# Add site-packages dependencies with existence checks
34+
dependencies = [
35+
('fake_useragent', 'fake_useragent'),
36+
('streamlink', 'streamlink'),
37+
('websockets', 'websockets'),
38+
('tls_client', 'tls_client'),
39+
('cffi', 'cffi'),
40+
('psutil', 'psutil'),
41+
]
42+
43+
for dep, target in dependencies:
44+
dep_path = os.path.join(site_packages, dep)
45+
if os.path.exists(dep_path):
46+
datas.append((dep_path, target))
47+
48+
# Add fake_useragent data files if they exist
49+
fake_useragent_data = os.path.join(site_packages, 'fake_useragent', 'data')
50+
fake_useragent_json = os.path.join(site_packages, 'fake_useragent', 'data.json')
51+
52+
if os.path.exists(fake_useragent_data):
53+
datas.append((fake_useragent_data, 'fake_useragent/data'))
54+
if os.path.exists(fake_useragent_json):
55+
datas.append((fake_useragent_json, 'fake_useragent/data.json'))
3556

3657
a = Analysis(
3758
['backend/main.py'],
3859
pathex=[],
3960
binaries=tls_client_binaries,
40-
datas=[
41-
('backend', '.'),
42-
(os.path.join(site_packages, 'fake_useragent', 'data'), 'fake_useragent/data'),
43-
(os.path.join(site_packages, 'fake_useragent'), 'fake_useragent'),
44-
(os.path.join(site_packages, 'streamlink'), 'streamlink'),
45-
(os.path.join(site_packages, 'websockets'), 'websockets'),
46-
(os.path.join(site_packages, 'tls_client'), 'tls_client'),
47-
(os.path.join(site_packages, 'cffi'), 'cffi'),
48-
(os.path.join(site_packages, 'psutil'), 'psutil'),
49-
],
61+
datas=datas,
5062
hiddenimports=[
5163
'rich',
5264
'trio',

0 commit comments

Comments
 (0)