[Wapt] Question d'un newbie python

Denis Cardon denis.cardon at tranquil-it-systems.fr
Thu Aug 6 11:29:29 CEST 2015


Bonjour

> Bien vu le coup du sleep, c'était bien ça ! Merci !
> Maintenant suppression du raccourcis bureau suivant l'os en cours :-)

Est ce que vous pourriez tester de lancer l'installer avec la commande
  start /w vlc-2.2.1-win32.exe

Normalement start /w ne devrait pas rendre la main tant que le programme 
source n'est pas complètement terminé [1]

Cordialement,

Denis

[1] https://support.microsoft.com/en-us/kb/198044


>
> Cordialement.
>
>
> ------------------------------------------------------------------------
> *De: *"Bastien HERMITTE" <bhermitte at b2pweb.com>
> *À: *wapt at lists.tranquil.it
> *Envoyé: *Jeudi 6 Août 2015 10:13:34
> *Objet: *Re: [Wapt] Question d'un newbie python
>
> 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
>
>
>
> _______________________________________________
> 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
>

-- 
Denis Cardon
Tranquil IT Systems
Les Espaces Jules Verne, bâtiment A
12 avenue Jules Verne
44230 Saint Sébastien sur Loire
tel : +33 (0) 2.40.97.57.55
http://www.tranquil-it-systems.fr



More information about the WAPT mailing list