tis-mockoon-portable icon

Mockoon

Silent install package for Mockoon

9.2.0-1

  • package: tis-mockoon-portable
  • name: Mockoon
  • version: 9.2.0-1
  • categories: Development
  • maintainer: WAPT Team,Tranquil IT,Amel FRADJ
  • licence: opensource_free,wapt_public
  • target_os: windows
  • architecture: x64
  • signature_date:
  • size: 89.56 Mo
  • homepage : https://mockoon.com/

package           : tis-mockoon-portable
version           : 9.2.0-1
architecture      : x64
section           : base
priority          : optional
name              : Mockoon
categories        : Development
maintainer        : WAPT Team,Tranquil IT,Amel FRADJ
description       : Mockoon is the fastest and easiest way to run dummy APIs locally. No remote deployment, no account required, free and open source
depends           : 
conflicts         : 
maturity          : PROD
locale            : 
target_os         : windows
min_wapt_version  : 2.3
sources           : 
installed_size    : 
impacted_process  : 
description_fr    : Mockoon est le moyen le plus simple et le plus rapide d'exécuter des API fictives localement. Aucun déploiement à distance, aucun compte requis, gratuit et open source
description_pl    : Mockoon to najprostszy i najszybszy sposób na lokalne uruchamianie fikcyjnych interfejsów API. Nie wymaga zdalnego wdrażania, nie wymaga konta, jest darmowy i open source
description_de    : Mockoon ist der einfachste und schnellste Weg, um fiktive APIs lokal auszuführen. Kein Remote Deployment, kein Konto erforderlich, kostenlos und Open Source
description_es    : Mockoon es la forma más fácil y rápida de ejecutar API ficticias localmente. Sin despliegue remoto, sin necesidad de cuenta, gratuito y de código abierto
description_pt    : O Mockoon é a forma mais fácil e rápida de executar APIs fictícias localmente. Sem implantação remota, sem necessidade de conta, gratuito e de código aberto
description_it    : Mockoon è il modo più semplice e veloce per eseguire API fittizie a livello locale. Nessuna distribuzione remota, nessun account richiesto, gratuito e open source
description_nl    : Mockoon is de eenvoudigste en snelste manier om dummy API's lokaal uit te voeren. Geen implementatie op afstand, geen account nodig, gratis en open source
description_ru    : Mockoon - это самый простой и быстрый способ локального запуска фиктивных API. Никакого удаленного развертывания, не требуется учетная запись, бесплатно и с открытым исходным кодом
audit_schedule    : 
editor            : 
keywords          : 
licence           : opensource_free,wapt_public
homepage          : https://mockoon.com/
package_uuid      : b2e2c806-be5d-4d65-a2dc-8796ef39c075
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : ba94c62bc25f306ed36d91217e4ba8251c77b572940b59d21227df7c8b277c39
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2025-03-17T21:29:36.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         : OouhEnD0wHq+T0hO5pIYUheEl3Nox5cnBI67Ei6nDrtQW3FXfxOegynWC7G+zITJ8N2bhJMLJlXWu6iMlcAy+QXGWelkS8REqGoXEw/BlQkXK95HneekTEBp5/OuYIcq+KdjRIugwUOuoFFU+gxqBFhIyscy58aL4pnKzWgu2EfHHOohEj+0hM2CJiOwqTmz/Tq9DMfaMeFGs6m8omDHw3eGdZTOlgJGJ3KtaZD4WywFyzublgj+ZyYv2LXyGQVY04aY378BXgKig3/eQa+5O32uLZcB0iCQSV+5gG9Es9SRN+vPPAQwpfhK+jlTsh7aqNiSkizJEaj1aVhXqsNI4w==

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

app_name = "mockoon"
uninstall_dir = makepath(os.environ['LOCALAPPDATA'], 'Programs', app_name)  # Target the correct directory
uninstall_exe_name = "Uninstall Mockoon.exe"  # Name of the uninstall executable

def install():
    bin_name = glob.glob('*.exe')[0]  # Find the .exe file in the current directory
    app_path = makepath(uninstall_dir, bin_name)  # Define the target path for the .exe
    
    # Installing the software
    killalltasks(ensure_list(control.impacted_process))
    
    if isdir(uninstall_dir) and force:  # If the directory exists and 'force' is enabled, remove it
        remove_tree(uninstall_dir)
    
    mkdirs(uninstall_dir)  # Create the target directory if necessary
    filecopyto(bin_name, app_path)  # Copy the .exe file to the target directory
    
    

    # Identify the path of the installed Mockoon executable
    installed_executable = find_installed_executable(app_name)

    # Create shortcuts to the installed executable, not the installer
    if installed_executable:
        create_desktop_shortcut(app_name, target=installed_executable)
        create_programs_menu_shortcut(app_name, target=installed_executable)

def find_installed_executable(app_name):
    """
    Find the installed Mockoon executable in the installation folder.
    """
    installed_paths = installed_softwares(app_name)
    if installed_paths:
        # Search for the executable in the installed paths
        for software in installed_paths:
            path = software.get('install_location', '')
            exe_files = glob.glob(makepath(path, '*.exe'))  # Search for .exe files in the installation directory
            if exe_files:
                return exe_files[0]  # Return the first .exe found
    return None

def uninstall():
    # Uninstalling the software
    killalltasks(ensure_list(control.impacted_process))

    # Complete path to the uninstall executable
    uninstall_path = makepath(uninstall_dir, uninstall_exe_name)
    
    if isfile(uninstall_path):  # Check if the uninstall file exists
        # Run the uninstall program in silent mode
        print(f"Uninstalling Mockoon via: {uninstall_path}")
        run(f'"{uninstall_path}" ')  # Use /S for silent uninstallation if supported
        wait_uninstallkey_absent(app_name, max_loop=600)
    else:
        print(f"Uninstall file not found: {uninstall_path}")
    
    # Remove remaining files
    if isdir(uninstall_dir):
        remove_tree(uninstall_dir)

    # Remove shortcuts
    remove_desktop_shortcut(app_name)
    remove_programs_menu_shortcut(app_name)

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

# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls


def update_package():
    result = False
    proxies = get_proxies()

    if not proxies:
        proxies = get_proxies_from_wapt_console()

    git_repo = "mockoon/mockoon"
    url_api = "https://api.github.com/repos/%s/releases/latest" % git_repo
    dict_arch={
        "x64" :"mockoon.setup"
    }
    # Getting latest version information from official sources
    print("API used is: %s" % url_api)
    json_load = json.loads(wgets(url_api, proxies=proxies))

    for download in json_load["assets"]:
        if download["name"].endswith('.exe') and dict_arch[control.architecture] in download["name"]:
            url_dl = download["browser_download_url"]
            version = json_load["tag_name"].replace("v", "")
            latest_bin = download["name"]
            break


    for f in glob.glob('*.exe'):
        if get_version_from_binary(f) < version :
            remove_file(f)

    # 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 = get_version_from_binary(latest_bin)

    # Changing version of the package
    if Version(version) > Version(control.get_software_version()):
        print("Software version updated (from: %s to: %s)" % (control.get_software_version(), Version(version)))
        result = True
        control.version = "%s-%s" % (Version(version), control.version.split("-", 1)[-1])
        # control.set_software_version(Version(version))
        control.save_control_to_wapt()

    # Validating update-package-sources
    return result

38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
f68c1f38b549b469bb48c15fee25c90c88311087738e343befea3f4c6b07b2c0 : WAPT/control
ba94c62bc25f306ed36d91217e4ba8251c77b572940b59d21227df7c8b277c39 : WAPT/icon.png
99be42b2d2d291203e5d9f1bb1baae57a85228d16c4308856fc513c37767c9b5 : luti.json
899d82082e4d4ccb0f1f5be091705ac8f0e9eabb22fe066cd1f24ea8d4ce1dfc : mockoon.setup.9.2.0.exe
83a5f2ee9ff1a78a42f54b8ffe96139344ee57a50b1c9f36b15a1795a127724e : setup.py
7179f13e99a18e4f91aaace2f2f52e9f90fc5a450f4f5a2eef0908f04a966b09 : update_package.py