wapt-skype/setup.py

55 lines
2.0 KiB
Python

# -*- coding: utf-8 -*-
from setuphelpers import *
import glob
uninstallkey=[]
def install():
version = control['version'].split('-',1)[0]
short_version = version.split('.',2)[0] + '.' + version.split('.',2)[1]
oldskype = installed_softwares('skype')
for soft in oldskype:
if Version(soft['version'])<Version(short_version):
print("removing version %s " % soft['name'])
run_notfatal(uninstall_cmd(soft['key']))
print('installing Skype %s' % version)
install_exe_if_needed('Skype-%s.exe' % version, key='Skype_is1',min_version=short_version)
remove_desktop_shortcut('Skype')
killalltasks(control['impacted_process'])
def session_setup():
print('Disable Skype self update')
# Not very elegant, but when skype tries to update by itself, it just
# ask for admin privs, preventing users to run it. There's no switch to turn
# the update off. The only way is to create a directory
# named like the setup file, so the setup file can't be created
skype_setup = makepath(user_appdata(),'Microsoft','Skype for Desktop','Skype-Setup.exe')
if isfile(skype_setup):
remove_file(skype_setup)
mkdirs(skype_setup)
def update_package():
control = PackageEntry().load_control_from_wapt ('.')
wget('https://go.skype.com/windows.desktop.download','skype-temp.exe')
new_version = get_file_properties('skype-temp.exe')['FileVersion']
if Version(new_version) > Version(control['version'].split('-',1)[0]):
print('Found new version : %s' % new_version)
exes = glob.glob('Skype*.exe')
for fn in exes:
if fn != 'skype-temp.exe':
remove_file(fn)
filecopyto('skype-temp.exe', 'Skype-%s.exe' % new_version)
control.version = '%s-%s' % (new_version,0)
control.maturity = 'PREPROD'
control.save_control_to_wapt('.')
remove_file('skype-temp.exe')
if __name__ == '__main__':
update_package()