Exemples simples de fonctions couramment utilisées¶
Nous présentons ici quelques fonctions implémentées dans Setuphelpers et fréquemment utilisées pour développer des paquets WAPT.
Tests et manipulation de dossiers et fichiers¶
Créer un chemin avec récursion¶
La commande makepath …
makepath(programfiles,'Mozilla','Firefox')
… fabrique la variable pour le chemin C:Program Files (x86)MozillaFirefox
.
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=makepath#setuphelpers.makepath
Créer et détruire des répertoires¶
La commande mkdirs …
mkdirs('C:\\test')
… crée le répertoire C:\test
.
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=mkdirs#setuphelpers.mkdirs
La commande remove_tree …
remove_tree(r'C:\tmp\target')
… détruit le répertoire C:\tmp\target
.
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
Tester si des éléments de l’arborescence sont des fichiers ou des répertoires¶
La commande isdir …
isdir(makepath(programfiles32,'software')):
print('The directory exists')
… vérifie que C:\Program Files (x86)\software
est un répertoire.
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=isdir#setuphelpers.isdir
La commande isfile …
isfile(makepath(programfiles32,'software','file')):
print('file exist')
… vérifie que C:\Program Files (x86)\software\file
est un fichier.
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=isfile#setuphelpers.isfile
Tester si un répertoire est vide¶
La commande dir_is_empty …
dir_is_empty(makepath(programfiles32,'software')):
print('dir is empty')
… vérifie que le répertoire C:\Program Files (x86)\software
est vide.
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
Copier un fichier¶
La commande filecopyto …
filecopyto('file.txt',makepath(programfiles32,'software'))
… copie le fichier file.txt
dans le répertoire C:\Program Files (x86)\software
.
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
Copier un répertoire¶
La commande copytree2 …
copytree2('sources','C:\\projet')
… copie le dossier sources
dans le répertoire C:\projet
.
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
Récupérer la version d’un fichier¶
La commande get_file_properties …
get_file_properties(makepath(programfiles32,'InfraRecorder','infrarecorder.exe'))['ProductVersion']
… affiche les propriétés du paquet.
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
Manipulation de clés de registre¶
Tester la présence d’une clé de registre¶
La commande registry_readstring …
if registry_readstring(HKEY_LOCAL_MACHINE, "SOFTWARE\\Google\\Update\\Clients\\{8A69D345-D564-463c-AFF1-A69D9E530F96}", 'pv'):
print('key exist')
… vérifie que la clé {8A69D345-D564-463c-AFF1-A69D9E530F96} existe dans le répertoire SOFTWARE\Google\Update\Clients
de la ruche HKEY_LOCAL_MACHINE.
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
Afficher la valeur d’une clé de registre¶
La commande registry_readstring …
print(registry_readstring(HKEY_LOCAL_MACHINE, r'SOFTWARE\Google\Update\Clients\{8A69D345-D564-463c-AFF1-A69D9E530F96}', 'pv'))
… lit la valeur de la clé {8A69D345-D564-463c-AFF1-A69D9E530F96} inscrite dans le répertoire SOFTWARE\Google\Update\Clients
de la ruche HKEY_LOCAL_MACHINE.
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
Modifier la valeur d’une clé de registre¶
La commande registry_setstring …
registry_setstring(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows Live\\Common",'TOUVersion','16.0.0.0', type=REG_SZ)
… modifie la valeur de la clé TOUVersion dans le répertoire SOFTWARE\Microsoft\Windows Live
de la ruche HKEY_CURRENT_USER.
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
Créer et supprimer des raccourcis¶
create_desktop_shortcut / remove_desktop_shortcut¶
La commande create_desktop_shortcut …
create_desktop_shortcut(r'WAPT Console Management',target=r'C:\Program Files (x86)\wapt\waptconsole.exe')
C:\Program Files (x86)\wapt\
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
La commande remove_desktop_shortcut …
remove_desktop_shortcut('WAPT Console Management')
… supprime le raccourci WAPT Console Management du répertoire C:\Users\Public
; le raccourci est supprimé pour tous les utilisateurs.
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
create_desktop_shortcut / remove_desktop_shortcut¶
Indication
Ces fonctions sont utilisées avec le session_setup.
La commande create_user_desktop_shortcut …
create_user_desktop_shortcut(r'WAPT Console Management',target=r'C:\Program Files (x86)\wapt\waptconsole.exe')
C:\Program Files (x86)\wapt\
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
Remove a shortcut from the current users¶
La commande remove_user_desktop_shortcut …
remove_user_desktop_shortcut('WAPT Console Management')
… supprime le raccourci WAPT Console Management du bureau de l’utilisateur.
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
Environment Windows / Logiciels / Services¶
windows_version¶
La commande windows_version …
windows_version()<Version('6.2.0'):
… vérifie que la version de Windows est strictement inférieure à 6.2.0.
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
Liste des numéros de version de Windows.
iswin64¶
La commande iswin64 …
if iswin64():
print('Pc x64')
else:
print('Pc not x64')
… vérifie que le processeur de la machine est 64bits.
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
https://www.wapt.fr/en/api-doc-1.5/source/setuphelpers.html?highlight=iswin64#setuphelpers.iswin64
programfiles / programfiles32 / programfiles64¶
Renvoie les différentes localisations de Program Files
La commande programfiles64 …
print(programfiles64())
Renvoie le répertoire natif du programme, c.à.d. C:Program Files (x86)
pour les architecture win64 et win32.
print(programfiles())
Renvoie le chemin vers le répertoire Programs Files (x86)
(sur architecture win64) ou Programs Files
(sur architecture win32).
print(programfiles32())
user_appdata / user_local_appdata¶
Indication
Ces fonctions sont utilisées avec le session_setup.
La commande user_appdata …
print(user_appdata())
… renvoie le profil appdata itinérant de l’utilisateur courant (C:\Users\%username%\AppData\Roaming
).
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
La commande user_local_appdata …
print(user_local_appdata())
… renvoie le profil appdata local de l’utilisateur courant (C:\Users\%username%\AppData\Local
).
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
disable_file_system_redirection¶
La commande disable_file_system_redirection …
with disable_file_system_redirection():
filecopyto('file.txt',system32())
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
Gère le contexte pour désactiver temporairement le redirecteur wow3264.
get_computername / get_current_user¶
La commande get_current_user …
print(get_current_user())
… affiche l’identifiant de l’utilisateur connecté.
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
La commande get_computername …
print(get_computername())
… affiche le nom de la machine sans le domaine.
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
La commande get_domain_fromregistry …
get_domain_fromregistry()
… renvoie le nom de la machine avec le domaine.
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
installed_softwares / uninstall_cmd¶
installed_softwares¶
La commande installed_softwares …
installed_softwares('winscp')
… renvoie la liste des logiciels inscrits dans la base de registre machine sous forme de tableau.
[{'install_location': u'C:\\Program Files\\WinSCP\\', 'version': u'5.9.2', 'name': u'WinSCP 5.9.2', 'key': u'winscp3_is1', 'uninstall_string': u'"C:\\Program Files\\WinSCP\\unins000.exe"', 'publisher': u'Martin Prikryl', 'install_date': u'20161102', 'system_component': 0}]
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
uninstall_cmd¶
La commande uninstall_cmd …
uninstall_cmd('winscp3_is1')
… renvoie la commande de désinstallation silencieuse :
"C:\Program Files\WinSCP\unins000.exe" /SILENT
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
désinstaller des logiciels¶
for soft in installed_softwares('winscp3'):
if Version(soft['version']) < Version('5.0.2'):
run(WAPT.uninstall_cmd(soft['key']))
pour chaque élément de la liste retournée par installed_softwares avec le mot clé winscp ;
si la version dans la liste est plus petite que 5.0.2 ;
alors lancer la désinstallation avec uninstall_cmd et en indiquant la uninstallkey ;
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
killalltasks¶
La commande killalltasks …
killalltasks('firefox')
… termine l’exécution du logiciel Firefox.
Indication
Pour plus d’informations ou pour connaître les paramètres complémentaires de la commande, consultez la documentation de référence (en anglais) en visitant :
Utiliser les champs du fichier control¶
def setup():
print(control['version'])
… affiche le champ version
du fichier control
du paquet WAPT.
def setup():
print(control['version'].split('-',1)[0])
… affiche le numéro de version du fichier control
sans le numéro de version de packaging WAPT.
Appeler des actions WAPT dans des paquets WAPT¶
Installer un paquet¶
La commande install …
WAPT.install('tis-scratch')
… installe tis-scratch sur la machine.
Supprimer un paquet¶
La commande remove …
WAPT.remove('tis-scratch')
… désinstalle tis-scratch de la machine.
Oublier un paquet¶
La commande forget_packages …
WAPT.forget_packages('tis-scratch')
… informe WAPT de ne plus suivre le paquet tis-scratch ; WAPT ne connaîtra plus l’existence de ce paquet.
Indication
Si vous voulez supprimer tis-scratch, il faudra soit réinstaller le paquet (wapt-get install "tis-scratch"), puis le supprimer (wapt-get remove "tis-scratch"), ou bien le supprimer manuellement à partir du panneau de configuration Windows
.