tis-dngrep icon

dngrep

Silent install package for dngrep

4.7.10.0-2
Office
Office

Preprod packages are packages built on LUTI. They remain in PREPROD usually for 5 days, after which a second VirusTotal scan is performed to verify that the status has not changed.
If the package passes this last check, it is promoted to PROD and published on the store.

  • package: tis-dngrep
  • name: dngrep
  • version: 4.7.10.0-2
  • categories: Office
  • maintainer: WAPT Team,Tranquil IT,Ingrid TALBOT
  • editor: dnGrep Community Contributors
  • licence: opensource_free,cpe:/a:gnu:gpl_v3,wapt_private
  • locale: all
  • target_os: windows
  • impacted_process: dnGREP
  • architecture: x64
  • signature_date:
  • size: 70.92 Mo
  • installed_size: 180.88 Mo
  • homepage : https://dngrep.github.io/

package           : tis-dngrep
version           : 4.7.10.0-2
architecture      : x64
section           : base
priority          : optional
name              : dngrep
categories        : Office
maintainer        : WAPT Team,Tranquil IT,Ingrid TALBOT
description       : dnGrep is a local search engine that allows Windows users to search and find phrases or parts of phrases quickly in any file on the computer
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : all
target_os         : windows
min_wapt_version  : 2.3
sources           : 
installed_size    : 180878136
impacted_process  : dnGREP
description_fr    : dnGrep est un moteur de recherche local qui permet aux utilisateurs de Windows de rechercher et de trouver rapidement des phrases ou des parties de phrases dans n'importe quel fichier de l'ordinateur
description_pl    : dnGrep to lokalna wyszukiwarka, która pozwala użytkownikom systemu Windows szybko wyszukiwać i znajdować frazy lub ich części w dowolnym pliku na komputerze
description_de    : dnGrep ist eine lokale Suchmaschine, die es Windows-Benutzern ermöglicht, Sätze oder Teile von Sätzen schnell in jeder Datei auf dem Computer zu suchen und zu finden
description_es    : dnGrep es un motor de búsqueda local que permite a los usuarios de Windows buscar y encontrar frases o partes de frases rápidamente en cualquier archivo del ordenador
description_pt    : O dnGrep é um motor de busca local que permite aos utilizadores do Windows pesquisar e encontrar rapidamente frases ou partes de frases em qualquer ficheiro do computador
description_it    : dnGrep è un motore di ricerca locale che consente agli utenti di Windows di cercare e trovare rapidamente frasi o parti di frasi in qualsiasi file del computer
description_nl    : dnGrep is een lokale zoekmachine waarmee Windows-gebruikers snel zinnen of delen van zinnen kunnen zoeken en vinden in elk bestand op de computer
description_ru    : dnGrep - это локальная поисковая система, которая позволяет пользователям Windows быстро находить фразы или части фраз в любом файле на компьютере
audit_schedule    : 
editor            : dnGrep Community Contributors
keywords          : search,regex,file
licence           : opensource_free,cpe:/a:gnu:gpl_v3,wapt_private
homepage          : https://dngrep.github.io/
package_uuid      : 3acf9b86-ad47-4a55-8eb0-ca40e50a88bc
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://github.com/dnGrep/dnGrep/releases
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 0ff68159078a8999a1c187c1b7f8c817af929816ff0eef583540f9ed04eba615
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-03-12T10:46:38.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         : o1H+FLf50RFnykehHPh1akK1LiAYnCj6BpGRC90fuLEDXOVp6Om+MR0wNa2dMxcVoK2yMNqhiVbJ1ngYRTD95mkbbHKIYNi7NxdoUc3+Eh09ibsFSrWxRdOl7WytgpALhMXGH7rU+dl3HhW/AXxU0Aozhvl3OapgrE38s2ROj/ZNUZyUzptChuQ826UokK/3VFDX2pbbBiIKKHpE3N0BNiME6PfYyLFlnaWqiDAWlKACimAIT48dAl9BTKRrYLUrIOzrHajDg3Sx1OMgI7qhTrDKSQ+MTXfppo+8/AQgmxc12OP8kMTzo0Wkn6VExSeVGmZRxflCgFxhXFqvJzXeaQ==

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


def install():

    # Uninstalling older versions of the software that can remain
    for to_uninstall in installed_softwares(name="dnGrep"):
      if (Version(to_uninstall["version"]) < Version(control.get_software_version()) or 
          control.architecture not in to_uninstall['name']):
        print(f"Removing: {to_uninstall['name']} ({to_uninstall['version']})")
        killalltasks(ensure_list(control.impacted_process))
        run(uninstall_cmd(to_uninstall["key"]))
        wait_uninstallkey_absent(to_uninstall["key"])

    bin_name = glob.glob(f"dnGREP.*.{control.architecture}.msi")[0]
    install_msi_if_needed(
       bin_name, 
       min_version=control.get_software_version(),
       name=f"dnGrep {Version(control.get_software_version(), 3)} \({control.architecture}\)"
    )

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


def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    app_name = control.name

    update_dict = {
        "windows-x64": "x64.msi",
        "windows-x86": "x86.msi",
        "windows-arm64": "ARM64.msi"
    }
    os_type = control.target_os + "-" + ensure_list(control.architecture)[0]

    api_url = "https://api.github.com/repos/dnGrep/dnGrep/releases/latest"

    # Get data from API
    releases_dict = wgets(api_url, proxies=proxies, as_json=True)
    for asset in releases_dict["assets"]:
        if asset["name"].endswith(update_dict[os_type]):
            download_url = asset["browser_download_url"]
            latest_bin = asset["name"]
            latest_bin_extension = latest_bin.rsplit('.', 1)[-1]
            version = releases_dict["tag_name"].strip('v')
            break

        # Downloading latest binaries
    print(f"Latest {app_name} version is: {version}")
    print(f"Download URL is: {download_url}")
    if not isfile(latest_bin):
        print(f"Downloading: {latest_bin}")
        wget(download_url, latest_bin, proxies=proxies)
    else:
        print(f"Binary is present: {latest_bin}")

    expected_issuer = "SignPath Foundation"
    sign_name = waptlicences.check_msi_signature(latest_bin)[0]
    if sign_name != expected_issuer:
        error(f'Bad issuer {sign_name} != {expected_issuer} ')

    # Changing version of the package
    if Version(version) > Version(control.get_software_version()):
        print(f"Software version updated (from: {control.get_software_version()} to: {Version(version)})")
        package_updated = True
    else:
        print(f"Software version up-to-date ({Version(version)})")

    for f in glob.glob(f'*.{latest_bin_extension}'):
        if f != latest_bin:
            remove_file(f)

    control.set_software_version(version)
    control.save_control_to_wapt()

    return package_updated

01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
ea51463c49d638e0b3c9b782a4a1492f5c67512beb7060ae82af4072e32bd626 : WAPT/control
0ff68159078a8999a1c187c1b7f8c817af929816ff0eef583540f9ed04eba615 : WAPT/icon.png
e19c8eaedb21b2a0fe1c7245e31b9727aad50f89ef1bd47792b2934a40470b47 : dnGREP.4.7.10.x64.msi
9fc9d4d28ce4ec76179e8c0cc1f9e51c3abbe7f289bc687fa9c62f51f9e532c9 : luti.json
d3a9759719dc1d420223ac89bc98230eca901ff4e54d85004eed964357f31cb6 : setup.py
7c654a899779899a9b93206519db525ab95a9c4c5752025d269aab1069b5530a : update_package.py