[RESUELTO] Paquete para Postman (Windows/MacOS)

Preguntas sobre paquetes WAPT / Solicitudes y ayuda sobre paquetes WAPT.
Reglas del foro
Reglas del foro de la comunidad
* Soporte en inglés en www.reddit.com/r/wapt
* El soporte de la comunidad en francés está disponible en este foro
* Por favor, anteponga [RESUELTO] al título del tema si está resuelto.
* Por favor, no edite un tema que esté etiquetado como [RESUELTO]. Abra un nuevo tema haciendo referencia al anterior.
* Especifique la versión de WAPT instalada, la versión completa y el número de compilación (2.2.1.11957 / 2.2.2.12337 / etc.), así como la edición Enterprise/Discovery.
* Las versiones 1.8.2 y anteriores ya no son compatibles. Las únicas preguntas aceptadas sobre la versión 1.8.2 están relacionadas con la actualización a una versión compatible (2.1, 2.2, etc.).
* Especifique el sistema operativo del servidor (Linux/Windows) y la versión (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Especifique el sistema operativo de la máquina de administración/creación de paquetes y de la máquina con el agente problemático, si corresponde (Windows 7/10/11/Debian 11/etc.).
* Evite hacer varias preguntas al abrir un tema, ya que podría ser ignorado. Si hay varios temas, ábralos por separado, preferiblemente uno tras otro y no todos a la vez (es decir, no sature el foro con spam).
* Incluya fragmentos de código, capturas de pantalla y otras imágenes directamente en la publicación. Los enlaces a Pastebin, Bitly y otros sitios de terceros serán eliminados sistemáticamente.
* Como en cualquier foro comunitario, el soporte es proporcionado voluntariamente por los miembros. Si necesita soporte comercial, puede comunicarse con el departamento de ventas de Tranquil IT al 02.40.97.57.55.
Bloqueado
Bastien30
Mensajes: 38
Inscripción: 8 de marzo de 2024 - 15:21

30 de octubre de 2024 - 10:56

Buen día,

Si es de alguna utilidad, aquí está el código del paquete que uso para el software Postman:

Para Windows:

Código: Seleccionar todo

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

Código: Seleccionar todo

# -*- 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 de usuario
dcardón
Experto en WAPT
Mensajes: 1908
Inscripción: 18 de junio de 2014 - 09:58
Ubicación: Saint Sébastien sur Loire
Contacto :

6 de noviembre de 2024 - 12:00

Hola Bastien,

gracias por compartirlo. Parece un programa bastante bueno; creo que también lo usaremos internamente. :-)

Saludos,

Denis
Denis Cardon - Tranquil IT
¡Comparte tus experiencias en WAPT! Envíanos las URL de tus blogs y artículos en la "Tu opinión del foro y los publicaremos en el de WAPT
fschelfaut
Mensajes: 28
Inscripción: 7 de noviembre de 2024 - 12:22

8 de noviembre de 2024 - 15:26

Hola Bastien,

hemos empaquetado Postman para Windows y macOS. Actualmente está disponible en el repositorio PREPROD y estará disponible en la tienda en 5 días.

Aquí tienes los enlaces a las versiones PREPROD:

- Windows x64
- macOS Intel
- macOS ARM

Saludos cordiales,
Flavien
Bastien30
Mensajes: 38
Inscripción: 8 de marzo de 2024 - 15:21

8 de noviembre de 2024 - 16:43

Hola,

genial. Esperaré a que esté en el repositorio estable para revisarlo y probablemente reemplazaré mis paquetes con los tuyos :D

. Gracias.
Bastien30
Mensajes: 38
Inscripción: 8 de marzo de 2024 - 15:21

17 de diciembre de 2024 - 12:27

fschelfaut escribió: 8 de noviembre de 2024 - 15:26 Hola Bastien,

Hemos empaquetado Postman para Windows y macOS. Actualmente está disponible en el repositorio PREPROD y estará disponible en la tienda en 5 días.

Aquí están los enlaces a las compilaciones PREPROD:

- Windows x64
- macOS Intel
- macOS arm

Saludos cordiales,
Flavien
Buen día,

Descargué sus paquetes en lugar de los míos porque son más limpios (instalación en archivos de programa).
Sin embargo, he notado un pequeño problema después de una actualización de paquete: en Windows, el programa se inicia y luego se cierra unos segundos después.

Después de la investigación, se encontró que el problema se debía al archivo AppData\Roaming\Postman\storage\settings.json, en el que hay un parámetro "lastKnownVersion" que tiene el valor de la versión previamente instalada.
Si actualizamos el valor con la nueva versión el programa inicia normalmente.

¿Sería posible agregar esta modificación al paquete, por favor?
Por tanto, creo que sería necesario hacer esto para todos los usuarios.

Gracias de antemano.
fschelfaut
Mensajes: 28
Inscripción: 7 de noviembre de 2024 - 12:22

20 de diciembre de 2024 - 10:05 AM

Hola Bastien, ¡

Gracias por tus comentarios! Efectivamente, no había considerado ese archivo.
Por lo tanto, he adaptado el código para que settings.json se actualice automáticamente (session-setup).

Puedes encontrar el paquete en PREPROD aquí.

Por favor, avísame si esto resuelve tu problema.

Flavien,
Bastien30
Mensajes: 38
Inscripción: 8 de marzo de 2024 - 15:21

20 de diciembre de 2024 - 17:11

¡Muchas gracias! :)
Bastien30
Mensajes: 38
Inscripción: 8 de marzo de 2024 - 15:21

26 de diciembre de 2024 - 17:11

Hola,

acabo de actualizar Postman, todo funciona bien :D

. ¡Gracias!
Bloqueado