[RISOLTO] Pacchetto per Postman (Windows/MacOS)

Domande sul packaging WAPT / Richieste e assistenza sui pacchetti Wapt.
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Bloccato
bastien30
Messaggi: 38
Registrazione: 8 marzo 2024 - 15:21

30 ottobre 2024 - 10:56

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 !')
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

6 novembre 2024 - 12:00

Ciao Bastien,

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

Cordiali saluti,

Denis
Denis Cardon - Tranquil IT
Condividi le tue esperienze su WAPT! Inviaci gli URL dei tuoi blog e articoli nella "La tua opinione del forum e li pubblicheremo sul di WAPT
fschelfaut
Messaggi: 28
Registrazione: 7 nov 2024 - 12:22

8 novembre 2024 - 15:26

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
bastien30
Messaggi: 38
Registrazione: 8 marzo 2024 - 15:21

8 novembre 2024 - 16:43

Ciao,

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

. Grazie.
bastien30
Messaggi: 38
Registrazione: 8 marzo 2024 - 15:21

17 dicembre 2024 - 12:27

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.
fschelfaut
Messaggi: 28
Registrazione: 7 nov 2024 - 12:22

20 dicembre 2024 - 10:05

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,
bastien30
Messaggi: 38
Registrazione: 8 marzo 2024 - 15:21

20 dicembre 2024 - 17:11

Grazie mille! :)
bastien30
Messaggi: 38
Registrazione: 8 marzo 2024 - 15:21

26 dicembre 2024 - 17:11

Ciao,

ho appena aggiornato Postman e ora funziona tutto perfettamente :D

. Grazie!
Bloccato