Files
purple-electrumwallet/contrib/make_download
T

77 lines
2.6 KiB
Python
Raw Normal View History

2018-06-29 10:45:34 +02:00
#!/usr/bin/python3
2015-03-03 12:28:33 +01:00
import re
2013-11-12 21:11:22 -08:00
import os
2018-06-29 10:45:34 +02:00
import sys
2019-07-11 16:54:47 +02:00
import importlib
2021-12-19 17:10:35 +01:00
from collections import defaultdict
2013-04-13 18:50:17 +02:00
2019-07-11 16:54:47 +02:00
# load version.py; needlessly complicated alternative to "imp.load_source":
version_spec = importlib.util.spec_from_file_location('version', 'electrum/version.py')
version_module = importlib.util.module_from_spec(version_spec)
version_spec.loader.exec_module(version_module)
ELECTRUM_VERSION = version_module.ELECTRUM_VERSION
APK_VERSION = version_module.APK_VERSION
2018-06-29 10:45:34 +02:00
print("version", ELECTRUM_VERSION)
dirname = sys.argv[1]
2021-07-23 19:13:25 +02:00
2018-06-29 10:45:34 +02:00
print("directory", dirname)
download_page = os.path.join(dirname, "panel-download.html")
download_template = download_page + ".template"
2013-04-13 18:50:17 +02:00
2015-02-24 18:41:29 +01:00
with open(download_template) as f:
2013-11-23 15:47:00 +01:00
string = f.read()
2013-11-12 21:11:22 -08:00
2018-06-29 10:45:34 +02:00
version = version_win = version_mac = version_android = ELECTRUM_VERSION
2013-04-13 18:50:17 +02:00
string = string.replace("##VERSION##", version)
string = string.replace("##VERSION_WIN##", version_win)
string = string.replace("##VERSION_MAC##", version_mac)
2017-01-03 11:40:34 +01:00
string = string.replace("##VERSION_ANDROID##", version_android)
2018-06-29 10:45:34 +02:00
string = string.replace("##VERSION_APK##", APK_VERSION)
2015-03-03 12:28:33 +01:00
2021-06-16 17:14:06 +02:00
files = {
'tgz': "Electrum-%s.tar.gz" % version,
'appimage': "electrum-%s-x86_64.AppImage" % version,
'mac': "electrum-%s.dmg" % version_mac,
'win': "electrum-%s.exe" % version_win,
'win_setup': "electrum-%s-setup.exe" % version_win,
'win_portable': "electrum-%s-portable.exe" % version_win,
'apk_arm64': "Electrum-%s-arm64-v8a-release.apk" % APK_VERSION,
'apk_armeabi': "Electrum-%s-armeabi-v7a-release.apk" % APK_VERSION,
}
2021-12-19 17:10:35 +01:00
# default signers
signers = ['ThomasV', 'SomberNight']
2021-07-23 19:13:25 +02:00
2021-12-19 17:10:35 +01:00
# detect extra signers
list_dir = os.listdir('dist')
detected_sigs = defaultdict(set)
for f in list_dir:
if f.endswith('.asc'):
parts = f.split('.')
signer = parts[-2]
filename = '.'.join(parts[0:-2])
detected_sigs[signer].add(filename)
for k, v in detected_sigs.items():
if v == set(files.values()):
if k not in signers:
signers.append(k)
2021-07-23 19:13:25 +02:00
2021-12-19 17:10:35 +01:00
print("signers:", signers)
2021-06-16 17:14:06 +02:00
2021-12-19 17:10:35 +01:00
gpg_name = lambda x: 'sombernight_releasekey' if x=='SomberNight' else x
signers_list = ', '.join("<a href=\"https://raw.githubusercontent.com/spesmilo/electrum/master/pubkeys/%s.asc\">%s</a>"%(gpg_name(x), x) for x in signers)
string = string.replace("##signers_list##", signers_list)
for k, filename in files.items():
path = "dist/%s"%filename
assert filename in list_dir
link = "https://download.electrum.org/%s/%s"%(version, filename)
string = string.replace("##link_%s##"%k, link)
string = string.replace("##sigs_%s##"%k, link+'.asc')
2013-04-13 18:50:17 +02:00
2015-02-24 18:41:29 +01:00
with open(download_page,'w') as f:
2013-11-23 15:47:00 +01:00
f.write(string)