Seite 1 von 1

[GELÖST] Paket für Postman (Windows/MacOS)

Veröffentlicht: 30. Oktober 2024 - 10:56 Uhr
von bastien30
Guten Morgen,

Falls es von Nutzen ist, hier ist der Paketcode, den ich für die Postman-Software verwende:

Für Windows:

Code: Alle auswählen

# -*- 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 !')
Für macOS:

Code: Alle auswählen

# -*- 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 !')

Betreff: [GELÖST] Paket für Postman (Windows/MacOS)

Veröffentlicht: 6. November 2024 - 12:00 Uhr
von dcardon
Hallo Bastien,

danke fürs Teilen. Das sieht nach einer richtig guten Software aus; ich denke, wir werden sie auch intern einsetzen. :-)

Viele Grüße,

Denis

Betreff: [GELÖST] Paket für Postman (Windows/MacOS)

Veröffentlicht: 8. November 2024 – 15:26 Uhr
von fschelfaut
Hallo Bastien,

wir haben Postman für Windows und macOS paketiert. Es ist aktuell im PREPROD-Repository verfügbar und wird in 5 Tagen im Store erhältlich sein.

Hier sind die Links zu den PREPROD-Builds:

- Windows x64
- macOS Intel
- macOS ARM

Viele Grüße,
Flavien

Betreff: [GELÖST] Paket für Postman (Windows/MacOS)

Veröffentlicht: 8. November 2024 – 16:43 Uhr
von bastien30
Hallo,

super, ich warte, bis es im stabilen Repository verfügbar ist, um es mir anzusehen und meine Pakete wahrscheinlich durch Ihre zu ersetzen :D

. Vielen Dank.

Betreff: [GELÖST] Paket für Postman (Windows/MacOS)

Veröffentlicht: 17. Dez. 2024 - 12:27 Uhr
von bastien30
fschelfaut schrieb: 8. Nov. 2024 - 15:26 Uhr Hallo Bastien,

wir haben Postman für Windows und macOS paketiert. Es ist aktuell im PREPROD-Repository verfügbar und wird in 5 Tagen im Store erhältlich sein.

Hier sind die Links zu den PREPROD-Builds:

- Windows x64
- macOS Intel
- macOS arm

Viele Grüße,
Flavien
Guten Morgen,

Ich habe Ihre Pakete anstelle meiner eigenen heruntergeladen, weil sie sauberer sind (Installation in den Programmdateien).
Allerdings ist mir nach einem Paketupdate ein kleines Problem aufgefallen: Unter Windows startet das Programm und schließt sich dann nach wenigen Sekunden wieder.

Nach eingehender Untersuchung stellte sich heraus, dass die Ursache in der Datei AppData\Roaming\Postman\storage\settings.json lag, in der es einen Parameter "lastKnownVersion" gibt, der den Wert der zuvor installierten Version enthält.
Wenn wir den Wert mit der neuen Version aktualisieren, startet das Programm normal.

Wäre es möglich, diese Änderung dem Paket hinzuzufügen?
Ich denke daher, dass dies für alle Benutzer notwendig wäre.

Dank im Voraus.

Betreff: [GELÖST] Paket für Postman (Windows/MacOS)

Veröffentlicht: 20. Dez. 2024 - 10:05 Uhr
von fschelfaut
Hallo Bastien,

vielen Dank für dein Feedback! Ich hatte die Datei tatsächlich übersehen.
Daher habe ich den Code so angepasst, dass settings.json automatisch aktualisiert wird (Session-Setup).

Das Paket findest du hier im PREPROD-Verzeichnis.

Bitte gib mir Bescheid, ob das dein Problem löst.

Viele Grüße, Flavien

Betreff: [GELÖST] Paket für Postman (Windows/MacOS)

Veröffentlicht: 20. Dez. 2024 - 17:11 Uhr
von bastien30
Vielen Dank! :)

Betreff: [GELÖST] Paket für Postman (Windows/MacOS)

Veröffentlicht: 26. Dez. 2024 - 17:11 Uhr
von bastien30
Hallo,

ich habe Postman gerade aktualisiert, alles funktioniert einwandfrei :D

. Danke!