- package: tis-extracticon
- name: ExtractIcon
- version: 1.0.0.0-1
- categories: Utilities
- maintainer: Pierre COSSON
- editor: https://github.com/bertjohnson/
- licence: MIT
- locale: all
- target_os: windows
- impacted_process: extracticon
- architecture: all
- signature_date:
- size: 15.43 Ko
- installed_size: 12.29 Ko
- homepage : https://github.com/bertjohnson/ExtractIcon/
package : tis-extracticon
version : 1.0.0.0-1
architecture : all
section : base
priority : optional
name : ExtractIcon
categories : Utilities
maintainer : Pierre COSSON
description : Simple command line utility to extract a Windows file icon as a PNG in its highest resolution. Tested on Windows 10 for icons with resolutions of 16x16, 32x32, 48x48, 64x64, and 256x256.
depends :
conflicts :
maturity : PROD
locale : all
target_os : windows
min_wapt_version : 2.1
sources : https://github.com/bertjohnson/ExtractIcon/releases
installed_size : 12288
impacted_process : extracticon
description_fr : Utilitaire de ligne de commande simple pour extraire une icône de fichier Windows comme un PNG dans sa plus haute résolution. Testé sur Windows 10 pour des icônes avec des résolutions de 16x16, 32x32, 48x48, 64x64, et 256x256
description_pl : Proste narzędzie wiersza poleceń do wyodrębnienia ikony pliku systemu Windows jako PNG w jego najwyższej rozdzielczości. Przetestowane w Windows 10 dla ikon o rozdzielczości 16x16, 32x32, 48x48, 64x64 i 256x256
description_de : Einfaches Befehlszeilendienstprogramm zum Extrahieren eines Windows-Dateisymbols als PNG in seiner höchsten Auflösung. Getestet unter Windows 10 für Icons mit Auflösungen von 16x16, 32x32, 48x48, 64x64 und 256x256
description_es : Sencilla utilidad de línea de comandos para extraer un icono de archivo de Windows como PNG en su máxima resolución. Probado en Windows 10 para iconos con resoluciones de 16x16, 32x32, 48x48, 64x64 y 256x256
description_pt : Utilitário simples de linha de comando para extrair um ícone de ficheiro do Windows como um PNG na sua resolução mais alta. Testado no Windows 10 para ícones com resoluções de 16x16, 32x32, 48x48, 64x64, e 256x256
description_it : Semplice utility da riga di comando per estrarre un'icona di un file di Windows come PNG nella sua massima risoluzione. Testata su Windows 10 per icone con risoluzioni di 16x16, 32x32, 48x48, 64x64 e 256x256
description_nl : Eenvoudig opdrachtregelprogramma om een Windows-bestandspictogram als PNG in de hoogste resolutie uit te pakken. Getest op Windows 10 voor pictogrammen met een resolutie van 16x16, 32x32, 48x48, 64x64 en 256x256
description_ru : Простая утилита командной строки для извлечения значка файла Windows в формате PNG с максимальным разрешением. Проверено на Windows 10 для иконок с разрешениями 16x16, 32x32, 48x48, 64x64 и 256x256
audit_schedule :
editor : https://github.com/bertjohnson/
keywords :
licence : MIT
homepage : https://github.com/bertjohnson/ExtractIcon/
package_uuid : 9e591ea6-37e5-4c4f-8aca-0d696b5188ae
valid_from :
valid_until :
forced_install_on :
changelog : https://github.com/bertjohnson/ExtractIcon/releases
min_os_version :
max_os_version :
icon_sha256sum : d642b35ce6441158dc071677fb958ad01830271d373c332d64e48dec67f80834
signer : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature : hpydPod+ixTKHH7+IHmMmjLhUYfE0xub/hB02UggIJrif4rbYbhRm+w72AwN4B8QNKkTpkEBHFTGgBIb3Vf+4Duiae/lFLIyZR6sqjpYGfR50tKxqsST0UigMUYjMDWEkxxUVMWfb5BeKCnOEEDXL3eUGMDNv9EUUpPixE7ecDxzkjLq13qI7Ypa/bKmMngWyfjYfarmOiEbLNO88KYyuSAzDni19rYe+uHXQhW92xqVx06xPjmmEurW5EZC2shfmGP5NJl6vSrDC8+9ZVxj1lpcXeSjyGHgFH2z0XkEwiZpSYcmyVuN7xk0JWYDvmqIrMm2YzNyuIJsvzHdf0q6og==
signature_date : 2023-04-05T13:00:48.814736
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
# -*- coding: utf-8 -*-
from setuphelpers import *
app_name = "extracticon"
app_dir = makepath(programfiles32, app_name)
app_path = makepath(app_dir, "extracticon.exe")
icon_path = app_path
audit_version_number = False
win64app = False
def get_installed_version(uninstallkey):
for soft in installed_softwares(uninstallkey=uninstallkey):
return soft.get("version", None)
return None
def install():
# Declaring local variables
package_version = control.get_software_version()
installed_version = get_installed_version(app_name)
# Installing software
if installed_version is None or Version(installed_version) < Version(package_version) or force:
print("Installing: %s (%s)" % (app_name, control.get_software_version()))
killalltasks(control.get_impacted_process_list())
if isdir(app_dir):
remove_tree(app_dir)
mkdirs(app_dir)
filecopyto("extracticon.exe", app_dir)
# Adding software to "list-registry"
print("Registering: %s to Windows Registry" % app_name)
register_windows_uninstall(control, win64app=win64app)
register_uninstall(app_name, win64app=win64app, icon=icon_path)
else:
print("%s is already installed and up-to-date (%s)" % (app_name, control.get_software_version()))
# Removing shortcuts
remove_desktop_shortcut(app_name)
remove_programs_menu_shortcut(app_name)
def audit():
# Declaring local variables
package_version = control.get_software_version()
installed_version = get_installed_version("ExtractIcon")
# Auditing software
print("Auditing: %s" % control.package)
if installed_version is None:
print("%s is not installed" % app_name)
return "ERROR"
elif Version(installed_version) != Version(package_version) and audit_version_number:
print("%s is installed in version (%s) instead of (%s)" % (app_name, installed_version, package_version))
return "WARNING"
else:
print("%s (%s) is installed" % (app_name, installed_version))
return "OK"
def uninstall():
# Uninstalling software
killalltasks(control.get_impacted_process_list())
if isdir(app_dir):
remove_tree(app_dir)
unregister_uninstall("ExtractIcon", win64app=win64app)
remove_from_system_path(app_dir)
# Removing shortcuts
remove_desktop_shortcut(app_name)
remove_programs_menu_shortcut(app_name)
# -*- coding: utf-8 -*-
from setuphelpers import *
import json
def update_package():
# Declaring local variables
package_updated = False
proxies = get_proxies()
if not proxies:
proxies = get_proxies_from_wapt_console()
api_url = "https://api.github.com/repos/bertjohnson/ExtractIcon/releases/latest"
os_dict = {"windows": ".exe", "linux": ".AppImage", "darwin": ".dmg"}
arch_dict = {"x64": "win64.exe", "x86": "win32.exe"}
# Getting latest version information from official sources
print("API used is: %s" % api_url)
json_load = json.loads(wgets(api_url, proxies=proxies))
for to_download in json_load["assets"]:
if os_dict[control.target_os] in to_download["name"]:
download_url = to_download["browser_download_url"]
version = json_load["tag_name"].split("-")[-1].replace("v", "")
latest_bin = to_download["name"]
break
# Downloading latest binaries
print("Latest %s version is: %s" % (control.name, version))
print("Download URL is: %s" % download_url)
if not isfile(latest_bin):
print("Downloading: %s" % latest_bin)
wget(download_url, latest_bin, proxies=proxies)
else:
print("Binary is present: %s" % latest_bin)
# Checking version from file
version_from_file = get_version_from_binary(latest_bin).split("-")[0]
# if not version_from_file.startswith(version) and version_from_file != '':
if Version(version_from_file) != Version(version) and version_from_file != "":
print("Changing version to the version number of the binary")
os.rename(latest_bin, latest_bin.replace(version, version_from_file))
version = version_from_file
else:
print("Binary file version corresponds to online version")
# 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)))
package_updated = True
else:
print("Software version up-to-date (%s)" % Version(version))
control.set_software_version(version)
control.save_control_to_wapt()
# Deleting outdated binaries
remove_outdated_binaries(version)
# Validating update-package-sources
return package_updated
ae5003f7422805332e286af02305ccd6b06835ec4bf5a0e2a1182c701acbb879 : extracticon.exe
8ce8e4d3152819e08fd09065e9d3a3c9948bf9ee656f9dc0b995989187881131 : setup.py
6725ef446a26432ec7ee9ce5b7392fabd7b31b6b852515d36f7700fb27af2994 : update_package.py
d642b35ce6441158dc071677fb958ad01830271d373c332d64e48dec67f80834 : WAPT/icon.png
a5a97261381e1d0ad46ee15916abec9c2631d0201f5cc50ceb0197a165a0bbbf : WAPT/certificate.crt
0ca41cab1d9fc144989fb7757a66ba8f2e7e63944b4ea075b47d89d8d1c2d530 : luti.json
0a4cfb1c1461e5e3c4359c7cd8e7e6d6a087751e359a8b2f8f36bdf04103919f : WAPT/control