[RISOLTO] Pacchetto per Sourcetree
Pubblicato: 12 novembre 2024 - 13:44
Buongiorno,
Se può essere utile, ecco il codice per il pacchetto che utilizzo per il software Sourcetree (https://www.sourcetreeapp.com/) :
Per Windows:
Per macOS:
Sarebbe bello se fosse possibile adottarlo anche per il negozio TIS 
Grazie in anticipo.
Se può essere utile, ecco il codice per il pacchetto che utilizzo per il software Sourcetree (https://www.sourcetreeapp.com/) :
Per Windows:
Codice: Seleziona tutto
# -*- 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)Codice: Seleziona tutto
# -*- 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 !')
Grazie in anticipo.