# -*- coding: utf-8 -*- from setuphelpers import * import requests,json uninstallkey = [] def install(): print('Installing Git for Windows') version = control['version'].split('-',1)[0] arch = '64' if iswin64() else '32' install_exe_if_needed( 'Git-%s-%s-bit.exe' % (version,arch), silentflags='/LOADINF="git.inf" /VERYSILENT /CLOSEAPPLICATIONS /NORESTART', min_version=version, key='Git_is1' ) def update_package(): import re print('Updating Git Package') latest = json.loads(requests.get('https://api.github.com/repos/git-for-windows/git/releases/latest').text.encode('utf-8')) version = re.search('v(.*)\.windows\.1', latest['tag_name']).group(1) pe = PackageEntry(); control = pe.load_control_from_wapt('.') print('Last version is %s' % version) for arch in ['32','64']: for asset in latest['assets']: if asset['name'] == 'Git-%s-%s-bit.exe' %(version,arch) and not isfile('Git-%s-%s-bit.exe' % (version,arch)): url = asset['browser_download_url'] print('Downloading Git %s for win%s from %s' % (version,arch,url)) wget(url,asset['name']) for old in glob.glob(r'Git-*-%s-bit.exe' % arch): if not old == 'Git-%s-%s-bit.exe' %(version,arch): 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.save_control_to_wapt('.')