wapt-linphone/setup.py

57 lines
1.6 KiB
Python

# -*- coding: utf-8 -*-
from setuphelpers import *
uninstallkey = []
def install():
print('Installing Linphone')
version = control['version'].split('-',1)[0]
parameters = '/S'
install_exe_if_needed(
'Linphone-%s-win64.exe' % version,
parameters,
key='Linphone',
min_version=version,
remove_old_version=True
)
def update_package():
print('Updating Linphone package')
from waptpackage import PackageEntry
import requests,re
download = requests.get('https://download.linphone.org/releases/windows/RELEASE').text
try:
version = re.search('//download\.linphone\.org/releases/windows/app/Linphone-(\d+(\.\d+)*)-win64.exe', download).group(1)
except:
error('Version not found')
print('Latest version is %s' % version)
pe = PackageEntry();
control = pe.load_control_from_wapt('.')
filename = 'Linphone-%s-win64.exe' % version
url = re.search('(https://download\.linphone\.org/.+%s-win64.exe)' % version, download).group(1)
if not isfile(filename):
print('Downloading Linphone %s from %s' % (version, url))
wget(url, filename)
if isfile(filename):
for old in glob.glob(r'Linphone-*.exe'):
if old != filename:
remove_file(old)
if Version(version) > Version(control['version'].split('-',1)[0]):
print('Updating control file with new version %s' % version)
pe.version = version + '-0'
pe.maturity = 'PREPROD'
pe.save_control_to_wapt('.')
if __name__ == '__main__':
update_package()