You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
2.7 KiB
76 lines
2.7 KiB
#!/usr/bin/python3
|
|
import re
|
|
import os
|
|
import sys
|
|
import importlib
|
|
|
|
# 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
|
|
print("version", ELECTRUM_VERSION)
|
|
|
|
dirname = sys.argv[1]
|
|
|
|
# GPG names of extra signers
|
|
extra_signers = sys.argv[2:]
|
|
|
|
print("directory", dirname)
|
|
|
|
download_page = os.path.join(dirname, "panel-download.html")
|
|
download_template = download_page + ".template"
|
|
|
|
with open(download_template) as f:
|
|
string = f.read()
|
|
|
|
version = version_win = version_mac = version_android = ELECTRUM_VERSION
|
|
string = string.replace("##VERSION##", version)
|
|
string = string.replace("##VERSION_WIN##", version_win)
|
|
string = string.replace("##VERSION_MAC##", version_mac)
|
|
string = string.replace("##VERSION_ANDROID##", version_android)
|
|
string = string.replace("##VERSION_APK##", APK_VERSION)
|
|
|
|
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,
|
|
}
|
|
|
|
|
|
for k, n in files.items():
|
|
path = "dist/%s"%n
|
|
link = "https://download.electrum.org/%s/%s"%(version,n)
|
|
if not os.path.exists(path):
|
|
os.system("wget -q %s -O %s" % (link, path))
|
|
if not os.path.getsize(path):
|
|
raise Exception(path)
|
|
|
|
string = string.replace("##link_%s##"%k, link)
|
|
sig_ThomasV = link + '.ThomasV.asc'
|
|
sig_SomberNight = link + '.sombernight_releasekey.asc'
|
|
sigs = [
|
|
"<a href=\"%s\">%s</a>"%(sig_ThomasV, 'ThomasV'),
|
|
"<a href=\"%s\">%s</a>"%(sig_SomberNight, 'SomberNight'),
|
|
]
|
|
|
|
for signer in extra_signers:
|
|
sig_name = n + '.'+signer+'.asc'
|
|
sig_url = "https://raw.githubusercontent.com/spesmilo/electrum-signatures/master/%s/%s/%s"%(version, n, sig_name)
|
|
sig_path = "dist/%s"% sig_name
|
|
os.system("wget %s -O %s"%(sig_url, sig_path))
|
|
if os.system("gpg --verify %s %s"%(sig_path, path)) != 0:
|
|
raise Exception(sig_name)
|
|
sigs.append( "<a href=\"%s\">%s</a>"%(sig_url, signer) )
|
|
sigs = '\n'+',\n'.join(sigs)+'\n'
|
|
string = string.replace("##sigs_%s##"%k, sigs)
|
|
|
|
with open(download_page,'w') as f:
|
|
f.write(string)
|
|
|