Pagina 1 di 1

[RISOLTO] Pacchetto per Postman (Windows/MacOS)

Pubblicato: 30 ottobre 2024 - 10:56
di bastien30
Buongiorno,

Se può essere utile, ecco il codice del pacchetto che utilizzo per il software Postman:

Per Windows:

Codice: Seleziona tutto

# -*- coding: utf-8 -*-
from setuphelpers import *
import time

uninstallkey = []

setup_path = r'C:\ProgramData\postman-installer'
bin_name = r'Postman-win64-Setup.exe'

def install():
    mkdirs(setup_path)
    filecopyto(bin_name, makepath(setup_path, bin_name))

def uninstall():
    for user_path in local_users_profiles():
        # Uninstall silently
        if isfile(makepath(user_path, r'\AppData\Local\Postman', r'Update.exe')):
            run_notfatal(r'"%s" --uninstall -s' % makepath(user_path, r'\AppData\Local\Postman', r'Update.exe'))
            time.sleep(2)
        # Remove local appdata dir
        if isdir(makepath(user_path, r'\AppData\Local\Postman')):
            remove_tree(makepath(user_path, r'\AppData\Local\Postman'))
    remove_tree(setup_path)
    
def session_setup():
    run(r'"%s" -s' % makepath(setup_path, bin_name))
    time.sleep(5)
    for i in range(30):
        if not isfile(makepath(user_local_appdata, r'\Postman\Update.exe')):
            time.sleep(5)
        else:
            break

def update_package():
    url = r'https://dl.pstmn.io/download/latest/win64'
    wget(url, bin_name)
    version_from_file = get_version_from_binary(bin_name)
    version_from_package = control.version.split('-')[0]

    if Version(version_from_file) > Version(version_from_package):
        print(r'Latest Postman version is %s' % version_from_file)
        # Changing version of the package
        control.version = '%s-%s' % (version_from_file, control.version.split('-', 1)[-1])
        control.save_control_to_wapt()
        print('Changing version to: %s in WAPT\\control' % control.version)
    else:
        print(r'Already up to date !')
Per macOS:

Codice: Seleziona tutto

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

zip_name = r'Postman-MacOS-arm64.zip'
app_name = r'Postman.app'

def install():
    run(r'unzip -qq %s %s/*' % (zip_name, app_name))
    install_app(app_name)

def uninstall():
    uninstall_app(app_name)

def update_package():
    import plistlib
    if isdir(app_name):
        remove_tree(app_name)
    url = r'https://dl.pstmn.io/download/latest/osx_arm64'
    wget(url, zip_name)
    unzip(zip_name, target=r'', filenames=r'%s/*' % app_name)
    version_from_package = control.version.split('-')[0]
    plist_file = plistlib.readPlist(r'%s/Contents/Info.plist' % app_name)
    version_from_plist = plist_file[r'CFBundleShortVersionString']
    remove_tree(app_name)

    if Version(version_from_plist) > Version(version_from_package):
        print(r'Latest Postman version is %s' % version_from_plist)
        # Changing version of the package
        control.version = '%s-%s' % (version_from_plist, control.version.split('-', 1)[-1])
        control.save_control_to_wapt()
        print('Changing version to: %s in WAPT\\control' % control.version)
    else:
        print(r'Already up to date !')

Re: [RISOLTO] Pacchetto per Postman (Windows/MacOS)

Pubblicato: 6 novembre 2024 - ore 12:00
di dcardon
Ciao Bastien,

grazie per la condivisione. Sembra un ottimo software; penso che lo useremo anche internamente. :-)

Cordiali saluti,

Denis

Re: [RISOLTO] Pacchetto per Postman (Windows/MacOS)

Pubblicato: 8 novembre 2024 - 15:26
di fschelfaut
Ciao Bastien,

abbiamo creato i pacchetti di Postman per Windows e macOS. Sono attualmente disponibili nel repository PREPROD e saranno accessibili sullo store tra 5 giorni.

Ecco i link alle build PREPROD:

- Windows x64
- macOS Intel
- macOS ARM

Cordiali saluti,
Flavien

Re: [RISOLTO] Pacchetto per Postman (Windows/MacOS)

Pubblicato: 8 novembre 2024 - 16:43
di bastien30
Ciao,

ottimo! Aspetterò che sia disponibile nel repository stabile prima di provarlo e probabilmente sostituirò i miei pacchetti con i tuoi :D

. Grazie.

Re: [RISOLTO] Pacchetto per Postman (Windows/MacOS)

Pubblicato: 17 dicembre 2024 - 12:27
di bastien30
fschelfaut ha scritto: 8 novembre 2024 - 15:26 Ciao Bastien,

abbiamo creato i pacchetti di Postman per Windows e macOS. Attualmente è disponibile nel repository PREPROD e sarà accessibile nello store tra 5 giorni.

Ecco i link alle build PREPROD:

- Windows x64
- macOS Intel
- macOS arm

Cordiali saluti,
Flavien
Buongiorno,

Ho scaricato i tuoi pacchetti invece dei miei perché sono più puliti (installazione nei file di programma).
Tuttavia, ho notato un piccolo problema dopo l'aggiornamento di un pacchetto: su Windows, il programma si avvia e si chiude dopo pochi secondi.

Dopo un'indagine, è emerso che il problema era dovuto al file AppData\Roaming\Postman\storage\settings.json, in cui è presente un parametro "lastKnownVersion" che ha il valore della versione installata in precedenza.
Se aggiorniamo il valore con la nuova versione, il programma si avvia normalmente.

Sarebbe possibile aggiungere questa modifica al pacchetto, per favore?
Ritengo quindi che sarebbe necessario farlo per tutti gli utenti.

Grazie in anticipo.

Re: [RISOLTO] Pacchetto per Postman (Windows/MacOS)

Pubblicato: 20 dicembre 2024 - 10:05
di fschelfaut
Ciao Bastien,

grazie per il tuo feedback! In effetti, non avevo considerato quel file.
Ho quindi adattato il codice in modo che settings.json venga aggiornato automaticamente (session-setup).

Puoi trovare il pacchetto in PREPROD qui.

Fammi sapere se questo risolve il tuo problema.

Flavien,

Re: [RISOLTO] Pacchetto per Postman (Windows/MacOS)

Pubblicato: 20 dicembre 2024 - 17:11
di bastien30
Grazie mille! :)

Re: [RISOLTO] Pacchetto per Postman (Windows/MacOS)

Pubblicato: 26 dicembre 2024 - 17:11
di bastien30
Ciao,

ho appena aggiornato Postman e ora funziona tutto perfettamente :D

. Grazie!