[Wapt] Ajouter un module python à wapt

Hubert TOUVET htouvet at tranquil.it
Mon Jul 1 09:59:01 CEST 2019


Bonjour,
A priori, la méthode décrite ci-dessous n'a pas de raison de ne plus 
fonctionner dans les versions de wapt post 1.3
Il faut créer un paquet qui initialement copie le module dans le 
VirtualEnv  de wapt.
Ensuite, il doit être disponible comme décrit ci-dessous.
La principale différence de ce point de vue entre 1.3 et 1.6/1.7 est le 
fait que Wapt a une installation python en propre qui est construit par 
VirtualEnv au lieu de procédure custom.
Lors des mises à jour de l'agent Wapt, normalement, Innosetup ne touche 
pas aux fichiers qu'il n'a pas installés lui-même.
Donc le module additionnel devrait persister... à vérifier.

Quelles difficultés rencontrez-vous ?

Hubert

Le 01/07/2019 à 09:26, Frederic Garesche a écrit :
> Bonjour Joël,
>
> J'utilise un module intégré dans l'agent wapt.
> Je l'ai mis dans C:\wapt\lib\sites-packages\malibpython.py
> Le module contient des fonctions que j'ai créées pour simplifier la 
> création des paquets.
> Dans le setup.py, il suffit d'ajouter la ligne : from libinsa import *
> Cela fonctionne dans toutes les fonctions de base de wapt : install(), 
> uninstall(), sessionsetup(), ...
>
> L'équipe wapt m'avait fourni une solution pour mettre à jour mon 
> module. Mais cela ne fonctionne plus depuis la migration d'après wapt 
> 1.3.13.
> Et hélas, l'équipe Wapt ne m'a pas donner de nouvelle solution.
> Je voulais aussi savoir si ma méthode d'inclusion de module était la 
> plus adapté par rapport au fonctionnement de wapt mais là non plus je 
> n'ai pas eu de réponse.
>
> La seule solution que j'ai actuellement est de mettre à jour mon 
> module lors d'une mise à jour de wapt.
>
> Voici pour exemples, trois des mes fonctions :
>
> def add_trustedpublisher_certificates(certificates):
>     r"""Add trustedpublisher certificates
>
>     Args:
>         certificates (list) : list of trustedpublisher certificate 
> files to add
>
>     Returns:
>         None
>
>     >>> 
> add_trustedpublisher_certificates(['SymantecTimeStampingServicesCAG2.cer','SymantecTimeStampingServicesSignerG4.cer'])
>     """
>     if not isinstance(certificates,list):
>         certificates = [certificates]
>
>     for cert in certificates:
>         if isfile(cert):
>             print('Adding TrustedPublisher certificate : %s' %(cert))
>             run(r'certutil.exe -f -addstore "TrustedPublisher" "%s"' 
> %(cert))
>         else:
>             print(r'Warning : trustedpublisher certificate file %s not 
> found' %(cert))
>
> def add_drivers(drivers,drivers_path_root):
>     r"""Add drivers
>
>     Args:
>         drivers (list) : list of driver files with their relative path
>         drivers_path_root (str) : root path where to find the drivers
>
>     Returns:
>         None
>
>     >>> 
> add_drivers(['usb-blaster\\usbblstr.inf','usb-blaster-ii\\usbblasterii.inf'],'C:\\Altera\\17.1\\quartus\\drivers')
>     """
>     if not isinstance(drivers,list):
>         drivers = [drivers]
>
>     if isdir(drivers_path_root):
>         for driver in drivers:
>             print('installing %s' %(driver))
>             with disable_file_system_redirection():
> run_notfatal(r'C:\Windows\System32\pnputil.exe -i -a "%s\%s"' 
> %(drivers_path_root,driver))
>     else:
>         print(r'Warning : drivers path root %s not found' 
> %(drivers_path_root))
>
> def add_firewall_rule(name_rule,path,profil='domain,private'):
>     r"""Add firewall rule
>
>     Args:
>         name_rule (str) : Name of the rule
>         path (str) : Absolute path to the file to allow
>         profil (str): Add the rule for domain | private | public
>
>     Returns:
>         None
>
>     >>> add_firewall_rule('Packet Tracer Executable',r'C:\Program 
> Files\Cisco Packet Tracer 7.1\bin\PacketTracer7.exe')
>     """
>     try:
>         run(r'netsh advfirewall firewall show rule name="%s"' %name_rule)
>     except:
>         print('Firewall : adding rule "%s" in %s' %(name_rule,profil))
>         if isfile(path):
>             run_notfatal(r'netsh advfirewall firewall add rule 
> name="%s" dir=in action=allow program="%s" enable=yes profile=%s' 
> %(name_rule,path,profil))
>
>
> *Frédéric GARESCHÉ
> *
> *Équipe Assistance et Exploitation
> *
> *Direction du Système d'Information (D.S.I)*
> *Correspondant Département EII et laboratoire IETR
> *Tél. : +33 (0)2 23 2*3 82 81*
> 20 avenue des Buttes de Coësmes
> CS 70839 - 35 708 RENNES Cedex 7
>
> <https://www.insa-rennes.fr>
>
> ------------------------------------------------------------------------
> *De: *"Latieule Joel" <joel.latieule at ac-montpellier.fr>
> *À: *"wapt" <wapt at lists.tranquil.it>
> *Envoyé: *Lundi 1 Juillet 2019 08:14:42
> *Objet: *Re: [Wapt] Ajouter un module python à wapt
>
> Bonjour Frederic,
>
>
> Sans pouvoir t'aider et dans l'objectif d'acquérir de nouvels exemples 
> d'usage avec WAPT, pourrait tu m'indiquer comment tu souhaite utiliser 
> les modules ajouter à l'agent ?
>
> Je suis également dans un étab scolaire (bien plus petit que le 
> tient). Je suis intéressé pour faire évoluer mon installation.
>
> Joël LATIEULE - 06.38.02.33.27 / TICE
>
> Collège Victor Hugo - 0110021n
> 5 boulevard Marcel Sembat, 11100 Narbonne
> 04.68.90.24.00
> Le 27/06/2019 à 13:37, Frederic Garesche a écrit :
>
>     Bonjour,
>
>     J'utilise un module pour regrouper quelques fonctions qui sont
>     souvent utilisées dans nos paquets.
>     On a, par exemple, une fonction pour modifier plus facilement la
>     base de registre, une autre pour modifier les profils déjà
>     présents sur la machine et surtout modifier notre profil
>     obligatoire sur notre parc d'enseignement.
>     Nos fonctions ne sont certes pas super bien écrites ni optimales
>     mais restent fonctionnelles.
>     Le module est utilisé aussi bien pour la fonction install() que
>     pour la fonction uninstall().
>
>     *Quelle méthode préconisez-vous pour ajouter son propre module
>     python à l'agent Wapt 1.7.4 ?*
>
>     En attendant une réponse de votre part, je vous souhaite une bonne
>     journée,
>
>
>     /PS : J'avais déjà posé la question mais je n'avais pas eu de
>     réponse./
>
>
>     *Frédéric GARESCHÉ
>     *
>     *Équipe Assistance et Exploitation
>     *
>     *Direction du Système d'Information (D.S.I)*
>     *Correspondant Département EII et laboratoire IETR
>     *Tél. : +33 (0)2 23 2*3 82 81*
>     20 avenue des Buttes de Coësmes
>     CS 70839 - 35 708 RENNES Cedex 7
>
>     <https://www.insa-rennes.fr>
>
>     _______________________________________________
>     WAPT mailing list
>     WAPT at lists.tranquil.it
>     http://lists.tranquil.it/listinfo/wapt
>
>
> _______________________________________________
> WAPT mailing list
> WAPT at lists.tranquil.it
> http://lists.tranquil.it/listinfo/wapt
>
>
> _______________________________________________
> WAPT mailing list
> WAPT at lists.tranquil.it
> http://lists.tranquil.it/listinfo/wapt

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.tranquil.it/pipermail/wapt/attachments/20190701/2b0fe04b/attachment.html>


More information about the WAPT mailing list