-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathm3utostrm.spec
102 lines (95 loc) · 2.85 KB
/
m3utostrm.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# -*- mode: python ; coding: utf-8 -*-
import os
import sys
from PyInstaller.utils.hooks import collect_submodules
block_cipher = None
# Verifica se o ícone existe
icon_path = os.path.join('src', 'assets', 'icon.ico')
icon_file = icon_path if os.path.exists(icon_path) else None
# Atualizar caminhos do frontend com a estrutura correta do Next.js
added_files = [
('frontend\\dist', 'frontend\\dist'), # Incluir todo o conteúdo do Next.js
('config.json', '.'),
]
# Define binaries baseado no sistema operacional
if sys.platform == 'win32':
added_binaries = [
('C:\\Windows\\System32\\vcruntime140.dll', '.'),
('C:\\Windows\\System32\\msvcp140.dll', '.')
]
else:
added_binaries = []
a = Analysis(
['main.py'],
pathex=[],
binaries=added_binaries,
datas=added_files,
hiddenimports=[
'tkinter',
'requests',
'urllib3',
'json',
're',
'_decimal',
'decimal',
'asyncio',
'pkg_resources.py2_warn',
'uvicorn.logging',
'uvicorn.loops',
'uvicorn.loops.auto',
'uvicorn.protocols',
'uvicorn.protocols.http',
'uvicorn.protocols.http.auto',
'uvicorn.protocols.websockets',
'uvicorn.protocols.websockets.auto',
'uvicorn.lifespan',
'uvicorn.lifespan.on',
'fastapi',
'websockets',
] + collect_submodules('fastapi'),
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='M3UtoSTRM',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
runtime_tmpdir=None,
console=False,
disable_windowed_traceback=False,
target_arch='x64',
icon=icon_file, # Usa None se o ícone não existir
manifest='''<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="amd64" name="M3UtoSTRM" type="win32"/>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="amd64" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
</application>
</compatibility>
</assembly>'''
)