[RESOLU] Paquet pour Sourcetree
Posté : 12 nov. 2024 - 13:44
Bonjour,
Si ça peut servir, voici le code du paquet que j'utilise pour le logiciel Sourcetree (https://www.sourcetreeapp.com/) :
Pour Windows :
Pour MacOS :
S'il est possible qu'il soit adopté pour le store TIS ça pourrait être sympa aussi 
Merci d'avance.
Si ça peut servir, voici le code du paquet que j'utilise pour le logiciel Sourcetree (https://www.sourcetreeapp.com/) :
Pour Windows :
Code : Tout sélectionner
# -*- coding: utf-8 -*-
from setuphelpers import *
uninstallkey = []
def install():
appver = control.version.split('-',1)[0]
bin_name = r'SourcetreeEnterpriseSetup_%s.msi' % appver
parameters = {'ACCEPTEULA':'1'}
install_msi_if_needed(bin_name, min_version=appver, killbefore=control.impacted_process, properties=parameters)
def update_package():
appver = control.version.split('-',1)[0]
url = r'https://www.sourcetreeapp.com/download-archives'
print(r'Checking latest version...')
for release in bs_find_all(url, "a"):
if "Download free" in release:
continue
if release["href"].endswith(".msi"):
url_dl = (release["href"])
break
latest_version = url_dl.split("/")[-1].split(".msi")[0].split("_")[-1]
if Version(latest_version) > Version(appver):
bin_name = url_dl.split("/")[-1]
print(r'Latest version is: %s' % latest_version)
print(r'Downloading latest binary...')
wget(url_dl, bin_name)
# Changing version of the package
control.version = '%s-%s'%(latest_version,(control.version.split('-')[-1]))
control.save_control_to_wapt()
print('Changing version to: %s in WAPT\\control' % control.version)
else:
print(r'Already up to date !')
# Deleting outdated binaries
remove_outdated_binaries(latest_version)
Code : Tout sélectionner
# -*- coding: utf-8 -*-
from setuphelpers import *
uninstallkey = []
zip_name_begin = r'Sourcetree'
app_name = r'Sourcetree.app'
def install():
zip_name = glob.glob('%s*.zip' % zip_name_begin)[0]
run(r'unzip -qq %s %s/*' % (zip_name, app_name))
install_app(app_name)
def uninstall():
uninstall_app(app_name)
def update_package():
appver = control.version.split('-',1)[0]
url = r'https://www.sourcetreeapp.com/download-archives'
print(r'Checking latest version...')
for release in bs_find_all(url, "a"):
if "Download free" in release:
continue
if release["href"].endswith(".zip"):
url_dl = (release["href"])
break
latest_version = url_dl.split("/")[-1].split(".zip")[0].split("_")[-2]
if Version(latest_version) > Version(appver):
bin_name = url_dl.split("/")[-1]
# Remove older version ZIP file
try:
old_zip_name = glob.glob('%s*.zip' % zip_name_begin)[0]
if isfile(old_zip_name):
remove_file(old_zip_name)
except:
pass
print(r'Latest version is: %s' % latest_version)
print(r'Downloading latest binary...')
wget(url_dl, bin_name)
# Changing version of the package
control.version = '%s-%s'%(latest_version,(control.version.split('-')[-1]))
control.save_control_to_wapt()
print('Changing version to: %s in WAPT\\control' % control.version)
else:
print(r'Already up to date !')

Merci d'avance.