[Wapt] Question d'un newbie python

Bastien HERMITTE bhermitte at b2pweb.com
Thu Aug 6 10:13:34 CEST 2015


Bonjour,

Le premier exemple est le bon, le if doit cependant être aligné au même 
niveau que le try/except pour être intégré à la fonction install().
Vous pouvez essayer de mettre un time.sleep(2) avant la suppression de 
la DLL pour attendre 2 secondes, en effet celle-ci est peut être encore 
en cours d'utilisation par le programme d'installation.

Note : vous n'avez pas besoin d'effectuer le os.path.isfile() qui est 
déjà intégré à la fonction remove_file().

Cordialement,
Bastien HERMITTE

Le 06/08/2015 09:18, Didier Paulin a écrit :
> Ha j'avance !  merci pour ton aide, alors quand je fait une update de 
> mon paquet avec ceci :
>
> /from setuphelpers import */
> /import os.path/
> /uninstallkey = ['VLC media player']/
>
> /def install():/
> /try:/
> /install_exe_if_needed('vlc-2.2.1-win32.exe','/S 
> --no-qt-privacy-ask','VLC media 
> player',min_version='2.2.1',killbefore='vlc.exe')/
> /except:/
> /killalltasks('vlc.exe')/
> /print("installing VLC exe")/
> /run('"vlc-2.2.1-win32.exe" /S  --no-qt-privacy-ask')/
>
> /if os.path.isfile(makepath(programfiles32 + 
> r'\VideoLAN\VLC','npvlc.dll')):/
> /remove_file(makepath(programfiles32 + r'\VideoLAN\VLC','npvlc.dll'))/
>
> La dll est bien supprimé sur les postes qui ont déjà vlc, par contre 
> sur un nouveau poste vlc s'install mais la dll n'est pas supprimé ??
>
>
> Et si je fait :
>
> /def install():/
> /    try:/
> /install_exe_if_needed('vlc-2.2.1-win32.exe','/S 
> --no-qt-privacy-ask','VLC media 
> player',min_version='2.2.1',killbefore='vlc.exe')/
> /    except:/
> /        killalltasks('vlc.exe')/
> /        print("installing VLC exe")/
> /        run('"vlc-2.2.1-win32.exe" /S --no-qt-privacy-ask')/
> /        if os.path.isfile(makepath(programfiles32 + 
> r'\VideoLAN\VLC','npvlc.dll')):/
> /remove_file(makepath(programfiles32 + r'\VideoLAN\VLC','npvlc.dll'))/
> //
> La dll n'est jamais supprimé, ni sur les postes updater ni sur les 
> nouvelle install/...
> /
> //
> //
> *Une idée ?*
>
> Cordialement.
>
>
> ------------------------------------------------------------------------
> *De: *"Bastien HERMITTE" <bhermitte at b2pweb.com>
> *À: *wapt at lists.tranquil.it
> *Envoyé: *Mercredi 5 Août 2015 15:23:05
> *Objet: *Re: [Wapt] Question d'un newbie python
>
> Bonjour,
>
> La fonction makepath n'est pas une fonction standard de python, pour 
> l'utiliser il faut importer les fonctions du setuphelper en haut du 
> script :
> /from setuphelpers import */
>
> Cela me parait bizarre que votre premier exemple fonctionne car la 
> fonction makepath ne prend que deux paramètres et pas quatre (mais je 
> suis loin d'être expert en python, et je suis toujours en WAPT 1.1.1 
> donc la fonction a peut être changé depuis).
>
> Je viens de tester ceci et ça fonctionne bien :
> /remove_file(//makepath(programfiles32 + r'\VideoLAN\VLC','npvlc.dll'))/
> A placer en dessous de la commande d'installation de VLC (run).
>
> Cordialement
> Bastien HERMITTE
>
> Le 05/08/2015 15:05, Didier Paulin a écrit :
>
>     Quand j’exécute manuellement ceci dans pyscripter  ma dll est bien
>     effacé :
>
>     /filename = makepath(programfiles32,'videolan','VLC','npvlc.dll')/
>     /        if os.path.isfile(filename):/
>     /            os.remove(filename)/
>     /
>     /
>     Mais quand je le rajoute à la fin du script vlc la dll ne s’efface
>     pas à la fin de l'install..
>
>     ----
>
>     Si j’exécute ceci :
>
>     /filename = makepath(programfiles32+ r'\VideoLAN\VLC','npvlc.dll')/
>     /if os.path.isfile(filename):/
>     /            os.remove(filename)/
>     /
>     /
>     //
>
>
>     merci d'avance
>
>     Cordialement.
>
>
>     ------------------------------------------------------------------------
>     *De: *"Bastien HERMITTE" <bhermitte at b2pweb.com>
>     *À: *wapt at lists.tranquil.it
>     *Envoyé: *Mercredi 5 Août 2015 14:37:00
>     *Objet: *Re: [Wapt] Question d'un newbie python
>
>     Bonjour,
>
>     Le problème est dans la fonction makepath :
>     /filename = makepath(programfiles32 + r'\VideoLAN\VLC','npvlc.dll')/
>     Note : le 'r' avant une chaine permet d'éviter d'avoir à doubler
>     les antislash.
>
>     De plus, il existe une fonction déjà toute faite pour la
>     suppression de fichier :
>     /remove_file(filename)/
>     Note : pour voir la source de la fonction remove_file, dans
>     pyscripter, appuie sur Ctrl et clic sur le nom de la fonction
>
>     Cordialement,
>     Bastien HERMITTE
>
>     Le 05/08/2015 14:04, Didier Paulin a écrit :
>
>         Bonjour à tous, je commence à gratter (un peu) la création de
>         paquet et je n'arrive pas à faire un truc qui doit être tout
>         simple Embarrassé :
>
>         Je veux supprimer une dll à la fin d'install de vlc, j'ai
>         modifié le setup.py de cette manière mais ma dll ne veux pas
>         s’effacer.... ami pro-python voyer vous la coquille ?
>
>         /from setuphelpers import */
>         /import os.path/
>         /uninstallkey = ['VLC media player']/
>
>         /def install():/
>         /    try:/
>         /install_exe_if_needed('vlc-2.2.1-win32.exe','/S
>         --no-qt-privacy-ask','VLC media
>         player',min_version='2.2.1',killbefore='vlc.exe')/
>         /    except:/
>         /        killalltasks('vlc.exe')/
>         /        print("installing VLC exe")/
>         /        run('"vlc-2.2.1-win32.exe" /S --no-qt-privacy-ask')/
>         /*filename =
>         makepath(programfiles32,'videolan','VLC','npvlc.dll')*/
>         */        if os.path.isfile(filename):/*
>         */            os.remove(filename)/*
>
>
>
>         Cordialement.
>
>
>
>
>         _______________________________________________
>         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/20150806/aa9c6ac7/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 73779 bytes
Desc: not available
URL: <http://lists.tranquil.it/pipermail/wapt/attachments/20150806/aa9c6ac7/attachment-0003.jpe>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 35251 bytes
Desc: not available
URL: <http://lists.tranquil.it/pipermail/wapt/attachments/20150806/aa9c6ac7/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 73779 bytes
Desc: not available
URL: <http://lists.tranquil.it/pipermail/wapt/attachments/20150806/aa9c6ac7/attachment-0004.jpe>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 331 bytes
Desc: not available
URL: <http://lists.tranquil.it/pipermail/wapt/attachments/20150806/aa9c6ac7/attachment-0001.gif>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 73779 bytes
Desc: not available
URL: <http://lists.tranquil.it/pipermail/wapt/attachments/20150806/aa9c6ac7/attachment-0005.jpe>


More information about the WAPT mailing list