-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbootstrap.py
68 lines (54 loc) · 1.88 KB
/
bootstrap.py
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
import os
from shutil import rmtree
from platform import system
from argparse import ArgumentParser
def make_clean():
cwd = os.path.dirname(__file__)
dirnames = ['__pycache__', 'build', 'dist']
for d in dirnames:
dirpath = os.path.join(cwd, d)
if os.path.isdir(dirpath):
rmtree(dirpath)
redundant_specfile = os.path.join(cwd, 'main.spec')
if os.path.exists(redundant_specfile):
os.remove(redundant_specfile)
redundant_logfile = os.path.join(cwd, 'gmfu.log')
if os.path.exists(redundant_logfile):
os.remove(redundant_logfile)
def make_executable():
make_clean()
result = os.system('pyinstaller modi_updater.spec')
if result != 0:
exit(1)
if system() == "Darwin":
if os.path.exists(f"./dist/MODI Firmware Updater.dmg"):
os.remove(f"./dist/MODI Firmware Updater.dmg")
create_dmg_cmd = """create-dmg \
--volname "MODI Firmware Updater" \
--volicon "modi_firmware_updater/assets/component/network_module.ico" \
--window-pos 200 120 \
--window-size 800 300 \
--icon-size 100 \
--icon "MODI Firmware Updater.app" 200 100 \
--hide-extension "MODI Firmware Updater.app" \
--app-drop-link 600 100 \
"./dist/MODI Firmware Updater.dmg" \
"./dist/MODI Firmware Updater.app"
"""
result = os.system(create_dmg_cmd)
if result != 0:
exit(1)
if __name__ == '__main__':
parser = ArgumentParser()
parser.add_argument(
'--mode', type=str, default='install',
choices=['clean', 'install'],
help='This is a script which makes your life a lot easier :)'
)
args = parser.parse_args()
mode = args.mode
mode_func = {
'clean': make_clean,
'install': make_executable,
}.get(mode)
mode_func()