tis-gyazo icon

Gazyo

Paquet d’installation silencieuse pour Gazyo

5.9.1-1
Utilities
Utilities

Les paquets PREPROD sont des paquets construits via LUTI. Ils restent généralement 5 jours en PREPROD, après quoi un deuxième scan VirusTotal est effectué pour vérifier que le status n'a pas changé.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le store.

  • package: tis-gyazo
  • name: Gazyo
  • version: 5.9.1-1
  • categories: Utilities
  • maintainer: WAPT Team,Tranquil IT,Kenan KILICARSLAN,Gaëtan SEGAT
  • editor: Toshiyuki Masui,Nota Inc
  • licence: GPL3
  • locale: all
  • target_os: windows
  • impacted_process: GyazoGIF,GyazoReplay,Gyazowin,GyOnboarding,GyStation
  • architecture: all
  • signature_date:
  • size: 49.69 Mo
  • installed_size: 19.84 Mo
  • homepage : https://gyazo.com/

package           : tis-gyazo
version           : 5.9.1-1
architecture      : all
section           : base
priority          : optional
name              : Gazyo
categories        : Utilities
maintainer        : WAPT Team,Tranquil IT,Kenan KILICARSLAN,Gaëtan SEGAT
description       : Gyazo is an open-source and free screenshot program
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : all
target_os         : windows
min_wapt_version  : 2.0
sources           : https://gyazo.com/download
installed_size    : 19841024
impacted_process  : GyazoGIF,GyazoReplay,Gyazowin,GyOnboarding,GyStation
description_fr    : Gyazo est un programme de capture d'écran gratuit et open-source
description_pl    : Gyazo to open-source'owy i darmowy program do tworzenia zrzutów ekranu
description_de    : Gyazo ist ein kostenloses Open-Source-Programm für Bildschirmfotos
description_es    : Gyazo es un programa de captura de pantalla de código abierto y gratuito
description_pt    : Gyazo é um programa de código-fonte aberto e gratuito
description_it    : Gyazo è un programma open-source e gratuito per fare screenshot
description_nl    : Gyazo is een open-source en gratis screenshot programma
description_ru    : Gyazo - бесплатная программа для создания скриншотов с открытым исходным кодом
audit_schedule    : 
editor            : Toshiyuki Masui,Nota Inc
keywords          : screenshot,recorder
licence           : GPL3
homepage          : https://gyazo.com/
package_uuid      : ffa1fb81-04ee-4dc8-8cf0-adab335b6bea
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 6.1
max_os_version    : 
icon_sha256sum    : 73ccd3bcedf31d311fcfbb9f40664b51cbe92c87b11c442877998053263d4748
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-03-11T08:20:14.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature         : hLlyvovAOmVDH3hdziwhJ1aYT6UgLsPVFNnj5qiZ/ZEXsxPAtoJfO+MTC7SXRYtKg032PGjBDGgqiRsqd35nIrz0IsiXYT6Y6y9Mg5NiMtCsC3yj9bCNAPUuqm6zMQI23dRlKyME2mlIL4bEm0qPo/uXC6SKIcwnufqVfMOyZR/ndYaqq0Epgs62GNMrSQMtHuBQFfNXpPcyz+Vm3keCcCgOF/a03oNWNV4od4FhtKRoLvt7goYlF+bxc0s1g4DHBmtSbVpMbeY498IVw+XdQCWREt2YTtXqoUenmp7AvmPrzfl7Ta9UUoPyoN/YxEzXPsJMf0JFU+QF6tkxEXAAow==

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


def install():
    # Initializing variables
    app_uninstallkey = "{6DB8C365-E719-4BA5-9594-10DFC244D3FD}_is1"
    app_dir = makepath(programfiles32, "Gyazo")
    package_version = control.version.split("-")[0]
    bin_name = "Gyazo-%s.exe" % package_version

    def get_version_soft(key):
        return key["name"].split(" ")[1]

    # Installing the package
    print("Installing: %s" % bin_name)
    install_exe_if_needed(bin_name, silentflags="/VERYSILENT /SUPPRESSMSGBOXES /NORESTART", key=app_uninstallkey, min_version=package_version, get_version=get_version_soft)

    if not installed_softwares(uninstallkey=app_uninstallkey)[0]["version"]:
        # Create silent uninstall command in registry
        app_uninstallkey_quiet = installed_softwares(uninstallkey=app_uninstallkey)[0]["uninstall_string"] + "/VERYSILENT"
        # Add in registry
        register_uninstall(app_uninstallkey, app_uninstallkey_quiet, display_version=package_version)
    # Remove updater
    remove_file(makepath(app_dir, "GyazoUpdate.exe"))

    for soft in ["Gyazowin.exe", "GyazoGIF.exe", "GyazoReplay.exe"]:
        create_programs_menu_shortcut(soft.split(".exe")[0], makepath(app_dir, soft))
    create_programs_menu_shortcut("Gyazo Settings", makepath(app_dir, "GyStation.exe"), "/option")


def uninstall():

    for soft in ["Gyazowin.exe", "GyazoGIF.exe", "GyazoReplay.exe"]:
        remove_programs_menu_shortcut(soft.split(".exe")[0])
    remove_programs_menu_shortcut("Gyazo Settings")


def get_version_from_binary(filename, parameter="ProductVersion"):
    if filename.endswith(".msi"):
        return get_msi_properties(filename)[parameter]
    else:
        return get_file_properties(filename)[parameter]


def remove_outdated_binaries(version, list_extensions=["exe", "msi", "deb", "rpm", "dmg", "pkg", "zip"], list_filename_contain=None):
    if type(list_extensions) != list:
        list_extensions = [list_extensions]
    if list_filename_contain:
        if type(list_filename_contain) != list:
            list_filename_contain = [list_filename_contain]
    list_extensions = ["." + ext for ext in list_extensions if ext[0] != "."]
    for file_ext in list_extensions:
        for bin_in_dir in glob.glob("*%s" % file_ext):
            if not version in bin_in_dir:
                remove_file(bin_in_dir)
            if list_filename_contain:
                for filename_contain in list_filename_contain:
                    if not filename_contain in bin_in_dir:
                        remove_file(bin_in_dir)

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



def update_package():
    # Initializing variables
    bin_name_sub = "Gyazo-%s.exe"
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    app_name = control.name
    url = "https://gyazo.com/download"
    bin_end = bin_name_sub.split("%s")[-1]
    # bin_start = bin_name_sub.split('%s')[0]

    # Getting latest version from official sources
    print("URL used is: %s" % url)
    for bs_search in bs_find_all(
        url,
        "a",
        "id",
        "download_btn",
        headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0"},
        proxies=proxies,
    ):
        if bs_search["href"].split("/")[-1].endswith(bin_end):
            latest_bin = bs_search["href"].split("/")[-1]
            version = bs_search["href"].split("-")[-1].split(bin_end)[0]
            url_dl = bs_search["href"]
            break

    print("Latest %s version is: %s" % (app_name, version))
    print("Download url is: %s" % url_dl)

    # Downloading latest binaries
    if not isfile(latest_bin):
        print("Downloading: %s" % latest_bin)
        wget(url_dl, latest_bin, proxies=proxies)

        # Checking version from file
        version_from_file = get_version_from_binary(latest_bin)
        if version != version_from_file:
            os.rename(latest_bin, bin_name_sub % version_from_file)
            version = version_from_file

        # Changing version of the package
        control.version = "%s-%s" % (version, control.version.split("-", 1)[-1])
        control.save_control_to_wapt()
        print("Changing package version to: %s in WAPT\\control" % control.version)

    # Deleting outdated binaries
    remove_outdated_binaries(version)

429ac0b8f85d93dedcf722a3ae6ff7a146031d6dd9a4026627e505d708106f96 : Gyazo-5.9.1.exe
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
a0316fff09073ddb5e8420f77e4e0262b7971ae6ec2bbdbdfd88f8f4b3ac0f8d : WAPT/control
73ccd3bcedf31d311fcfbb9f40664b51cbe92c87b11c442877998053263d4748 : WAPT/icon.png
8f8c6c99f3328dc5f22fe25db095e638a886afb152a557584e97caabad86e4c1 : luti.json
b44369ee788d48dc255d12619ea3ee3054c6b83c1c7b4a57db88b389fd0ffa69 : setup.py
9368cbea4d7501f27d01b6aed4992ee90246923c5f594c45f6849b14de4b3cc7 : update_package.py