blob: 552f1a978ee93d64bc7dd8ed224d024dcf275ed4 (
plain)
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
|
#!/usr/bin/env python3
"""
generate.py
Generate a NSI installer for a given provider.
"""
import json
import os
from string import Template
TEMPLATE = 'template.nsi'
def get_files(which):
files = "\n"
if which == 'install':
action = "File "
elif which == 'uninstall':
action = "Delete $INSTDIR\\"
else:
action = ""
# TODO get relative path
for item in open('payload/' + which).readlines():
files += " {action}{item}".format(
action=action, item=item)
return files
here = os.path.split(os.path.realpath(__file__))[0]
data = json.load(open(os.path.join(here, 'data.json')))
data['extra_install_files'] = get_files('install')
data['extra_uninstall_files'] = get_files('uninstall')
INSTALLER = data['applicationName'] + '-installer.nsi'
template = Template(open(TEMPLATE).read())
with open(INSTALLER, 'w') as output:
output.write(template.safe_substitute(data))
print("[+] NSIS installer script written to {path}".format(path=INSTALLER))
|