[RESOLU] Paquet pour Sourcetree
Publié : 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.