
Plugin Template for Notepad++
Paquet d’installation silencieuse pour Plugin Template for Notepad++
1-1
- package: tis-notepadplusplus-plugin-template
- name: Plugin Template for Notepad++
- version: 1-1
- categories: Utilities,Office,Development
- maintainer: WAPT Team, Bertrand Lemoigne
- licence: GPLv3
- target_os: windows
- impacted_process: notepad++
- architecture: all
- signature_date:
- size: 10.25 Ko
- homepage : https://github.com/pnedev/comparePlus
- depends:
package : tis-notepadplusplus-plugin-template
version : 1-1
architecture : all
section : base
priority : optional
name : Plugin Template for Notepad++
categories : Utilities,Office,Development
maintainer : WAPT Team, Bertrand Lemoigne
description : Plugin Template for Notepad++, please run update_package to create your plugin package
depends : tis-notepadplusplus
conflicts :
maturity : PROD
locale :
target_os : windows
min_wapt_version :
sources :
installed_size :
impacted_process : notepad++
description_fr : Plugin Template pour Notepad++, veuillez lancer l'update_package pour créer votre paquet de plugin
description_pl :
description_de :
description_es :
description_pt :
description_it :
description_nl :
description_ru :
audit_schedule :
editor :
keywords :
licence : GPLv3
homepage : https://github.com/pnedev/comparePlus
package_uuid : 26de4605-1fe6-470e-af0f-9af2bd01c226
valid_from :
valid_until :
forced_install_on :
changelog :
min_os_version :
max_os_version :
icon_sha256sum : 416085afa2c9d514cd68126bd43084388b210a5f93da147c0a80db1821cf28a2
signer : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date : 2025-03-23T14:28:18.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 : pjl+h3nkK+yfxeNoE9LLYpmhJKE1JVez0PgZO8A4N2U/c/nLDFqNz4fEd/hbkv0OPY2/NWaEsoRsM6zoclFEpCS0kRNSb04gtaeVB0E1QazrGS7wsKYbAc+LDWiJqy+uSjf3KwVotvzdS0m+Ob09uIsRHxczQdK4curgM0tnJWaJMq3FltOs/6IhQRxcV93J8umWmQXZYxCmdaHNkHsiY7yYl3Az6GmvH5/Ev+jq8DatFpq9WN97d13VBRIZ52CAfFX4B0CK6xig0s9g31U4zHt0OYplt3ac49GoBrmUCQjqP2BnMjnb0XtsBGx90Gc5WRi6qXQ0OUmteBFPohq0nQ==
# -*- coding: utf-8 -*-
from setuphelpers import *
def install():
# Declaring local variables
zip_name = glob.glob("*.zip")[0]
unzip(zip_name, zip_name.replace('.zip',''))
dll = glob.glob(r'*\*.dll')[0]
# plugin directory is retrieved from the dll name
plugin = dll.replace('.dll','').split('\\')[-1]
plugin_dir = makepath(programfiles,"Notepad++","plugins",plugin)
# writing plugin_dir in a file inside persistent_dir
with open(makepath(persistent_dir,'plugindir'),'w') as p:
p.write(plugin_dir)
p.close()
if not isdir(plugin_dir):
mkdirs(plugin_dir)
print("Plugin Installation")
filecopyto(dll,plugin_dir)
else:
print("Plugin already installed")
def uninstall():
# Getting plugin_dir from the file present in persistent_dir
with open(makepath(persistent_dir,'plugindir'),'r') as p:
plugin_dir = p.read()
p.close()
if isdir(plugin_dir):
print("Plugin removed")
remove_tree(plugin_dir)
else:
print("Plugin not present")
# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
import waptguihelper
def update_package():
# Declaring local variables
package_updated = False
proxies = get_proxies()
if not proxies:
proxies = get_proxies_from_wapt_console()
#list of all plugins is in this json file
json_url = "https://raw.githubusercontent.com/notepad-plus-plus/nppPluginList/refs/heads/master/src/pl.x64.json"
wget(json_url,'pl.x64.json',proxies=proxies)
with open('pl.x64.json','r') as j:
data = json.load(j)
# Extract plugins list
plugins = data.get("npp-plugins", [])
# Check if list contains plugins
if not plugins:
print("Aucun plugin trouvé.")
else:
# plugin list
plugins_list = [plugin['display-name'] for plugin in plugins]
# plugin_name/download_URL dict
plugins_dict = {plugin['display-name']: plugin['repository'] for plugin in plugins}
# Selecting plugin from list
selected_plugin_dict = waptguihelper.grid_dialog('Please select plugin (only one plugin)',plugins_list,waptguihelper.GRT_SELECTED,'{"columns":[{"propertyname":"plugins","datatype":"String"}]}')[0]
# Getting download URL from plugin name
selected_plugin = selected_plugin_dict['unknown']
dl_url = plugins_dict[selected_plugin]
# Downloading plugin
wget(dl_url,dl_url.split('/')[-1],proxies=proxies)
# Renaming package
if "template" in control.package:
complete_control_package(control)
complete_control_name(control)
complete_control_description(control)
complete_control_version(control,control.version)
if "template" in control.package:
error("Please rename the package.")
else:
version = str(int(control.get_software_version()) + 1)
else:
version = str(int(control.get_software_version()))
# Changing version of the package
if Version(version, 4) > Version(control.get_software_version(), 4):
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.save_control_to_wapt()
# Validating or not update-package-sources
return package_updated
# # Changing version of the package and validating update-package-sources
# return complete_control_version(control, version)
55dce1eb0c05e997e5c33aec50c23bca1a566e46eb020ef7b24378f63f5aaaf8 : .gitignore
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
f4e04158938f70930f97f5647b1d06c72b4f5c59e0349ecf3a95680300464f89 : WAPT/control
416085afa2c9d514cd68126bd43084388b210a5f93da147c0a80db1821cf28a2 : WAPT/icon.png
f08ee3fc27fa5cd5b0f2bab9df03ec911782dff344cba5e1f3dceb79b7e1dff4 : luti.json
0395d4b9b7d30ff356408d2fcb5797d9a1d49b87fa1698b9ad68d9af33a1d8e9 : setup.py
0259adcd7c399acf6a389db12738fea36da5939568d23d271429d206921cbe07 : update_package.py