[RESUELTO] Paquete para EdrawMax

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

13 de diciembre de 2024 - 13:25

Buen día,

Hice un paquete para el software Wondershare EdrawMax, con update_package() funcionando.

Vi que tenías un paquete para EdrawMind pero aparentemente estás recuperando el instalador de tu repositorio (¿problemas de licencia?).


configuración.py:

Código: Seleccionar todo

# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
from os import rename

def install():
    appver = control.get_software_version()
    appname = control.name
    install_exe_if_needed(r'edrawmax_%s.exe' % appver, silentflags=r'/VERYSILENT /NORESTART /ACCEPTEULA', min_version=appver, name=appname)
    remove_desktop_shortcut(appname)

def session_setup():
    appname = control.name
    remove_user_desktop_shortcut(appname)
    
def update_package():
    appver = control.get_software_version()
    url = control.sources
    for col in bs_find_all(url, "div", "class", "m-3"):
        if "EdrawMax for Windows" in col.text:
            for release in bs_find_all(col, "div", "class", "font-size-small"):
                if "what's new" in release.text:
                    latest_version = release.text.strip().split("(")[0]
                    break
            for release_link in bs_find_all(col, "div", "class"):
                if "Have trouble" in release_link.text:
                    latest_release_link = bs_find(release_link, "a", "href")
                    if latest_release_link["href"].endswith(".exe"):
                        if r"64bit" in latest_release_link["href"]:
                            latest_url = latest_release_link["href"]
                            break
        if latest_version and latest_url:
            break

    if not latest_version:
        error(r'Error fetching latest version from website !')
    elif not latest_url:
        error(r'Error fetching latest download link from website !')
    else:
        print(r'Latest version : %s' % latest_version)
        print(r'Latest url : %s' % latest_url)

    if Version(latest_version, 3) > Version(appver, 3):
        installer = r'edrawmax_latest.exe'
        installer_version = r'edrawmax_%s.exe'
        wget(latest_url, installer)
        # Get full version from binary
        bin_version = get_version_from_binary(installer)
        if Version(bin_version, 3) != Version(latest_version, 3):
            error(r'Error : binary version and website version are not the same !')
        else:
            # Renaming installer with full version
            os.rename(installer, installer_version % bin_version)
            # Changing version of the package
            control.version = '%s-%s'%(bin_version, control.version.split('-')[-1])
            control.save_control_to_wapt()
            print('Changing version to: %s in WAPT\\control' % control.version)
            remove_outdated_binaries(bin_version)
    else:
        print("Already up to date")
control:

Código: Seleccionar todo

package           : xxx-edrawmax
version           : 14.1.0.1212-5
architecture      : x64
section           : base
priority          : optional
name              : Wondershare EdrawMax
categories        : Utilities
maintainer        : XXXX
description       : Edraw Max est un logiciel de diagramme d'affaires et technique en 2D qui aide à créer des diagrammes de flux, des organigrammes, des cartes mentales, des diagrammes de réseau, des plans d'étage, des diagrammes de flux de travail, des graphiques d'affaires et des diagrammes d'ingénierie
depends           : 
conflicts         : 
maturity          : PROD
locale            : all
target_os         : windows
min_wapt_version  : 
sources           : https://www.edrawsoft.com/download-edrawmax.html
installed_size    : 
impacted_process  : EdrawMax,EdrawMaxTray
description_fr    : 
description_pl    : 
description_de    : 
description_es    : 
description_pt    : 
description_it    : 
description_nl    : 
description_ru    : 
audit_schedule    : 
editor            : EdrawSoft Co.,Ltd.
keywords          : 
licence           : proprietary_restricted
homepage          : https://edrawmax.wondershare.com/
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://www.edrawsoft.com/whats-new/edrawmax.html
min_os_version    : 
max_os_version    : 
italbot
Mensajes: 46
Inscripciones: 26 sept 2023 - 15:50 horas.

17 de diciembre de 2024 - 14:29

Hola,

gracias por compartir y por el acierto con el paquete EdrawMind; acabo de modificar la función update_package() para dicho paquete.

Saludos cordiales,

Ingrid
TI tranquila
Bloqueado