Voici mon paquet pour le logiciel Figma sous MacOS.
L'update-package est quasiment identique à la version Windows, et c'est compatible x64/arm :
Code : Tout sélectionner
# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
from pathlib import Path
import glob
def install():
# Initializing variables
package_version = control.version.split("-")[0]
# Installing the package
bin_name= glob.glob('%s*.pkg' % r'Figma')[0]
install_pkg(bin_name, min_version=package_version, killbefore=r'Figma')
def uninstall():
# Remove all Figma pkg
killalltasks(r'Figma')
all_figma_pkgs = run(r'pkgutil --pkgs | grep -i com.figma').rstrip().split('\n')
for pkg in all_figma_pkgs:
uninstall_pkg(pkg)
# Remove app leftovers after pkg was removed
uninstall_app(r'Figma.app')
def update_package():
package_updated = False
proxies = get_proxies_from_wapt_console()
if not proxies:
proxies = get_proxies()
# Récupérer les données depuis l'URL et décoder en tant que chaîne de caractères
sitewebdata = wgets('https://desktop.figma.com/mac-universal/releases.xml').decode('utf-8')
# Recherche des liens .pkg dans les données
for u in sitewebdata.split('.pkg'):
lnk = u.split('https://')[-1]
fullnk = 'https://' + lnk + '.pkg'
break
url_download = fullnk.split('/')[-1]
latest_bin = url_download.split("/")[-1]
# remove old pkg
for f in glob.glob("*.pkg"):
if f != latest_bin:
remove_file(f)
if not isfile(latest_bin):
package_updated = True
wget(fullnk, latest_bin, proxies=proxies)
else:
print(r'Already up to date !')
if package_updated:
last_version = Path(latest_bin).stem.split("-")[-1]
control.set_software_version(last_version)
control.save_control_to_wapt()
# Validating update-package-sources
return package_updated

Merci d'avance.