[Wapt] Template wapt aide python

Hubert TOUVET htouvet at tranquil.it
Fri Mar 6 11:00:14 CET 2015


Le 05/03/2015 10:43, Simon Fonteneau a écrit :
> Bonjour a tous
>
> Je galère un peu dans la création de paquet wapt.
>
> Je souhaite faire quelque chose de ce type pour vérifier que le 
> logiciel à bien été installé avec la bonne version:
>
>
> ----------------------------------------------------
>
> #Je déclare ma version
> version = '0.91'
>
> # Recherche tout les logiciels qui s'appelle inkscape
> check_installed = installed_softwares('Inkscape')
>
> # si cette liste globale n est pas vide
> if check_installed:
>
> # Je boucle pour chaque logiciel trouvé
>              for uninstall in check_installed:
>
> # Si la version du logiciel n'est pas la même que ma version installé
>                 if Version(uninstall['version']) != 
> Version(control['version']) :
>
> #J'indique que le check de sortie ne fonctionne pas
>                    print('Le check de sortie ne fonctionne pas')
>
> #Et je génère une erreur pour que le paquet soit en erreur dans wapt
>                    mise en erreur
>
>
> Seulement    mon   if Version(uninstall['version']) != 
> Version(control['version']) : ne fonctionne pas je soit m'être mal 
> débrouillé.
La clé version du fichier control inclut la version du packaging après 
un tiret.
Dans la base de registre, il ne doit y avoir que la version du logiciel 
lui même.
Donc il faut enlever la partie après le tiret pour pouvoir comparer (la 
fonction "split" des chaines de caractères est très pratique pour cela)

[Dbg]>>> control.version
u'2.2.0-1'
[Dbg]>>> control.version.split('-',1)[0]
u'2.2.0'
[Dbg]>>> Version(control.version.split('-',1)[0])
2.2.0
[Dbg]>>> installed_softwares('vlc')[0]['version']
u'2.1.3'
[Dbg]>>> Version(installed_softwares('vlc')[0]['version'])
2.1.3

La classe Version permet de comparer des versions numériquement et pas 
alphabétiquement.
[Dbg]>>> '1.10.0' > '1.9.0'
False

[Dbg]>>> Version('1.10.0') > Version('1.9.0')
True

[Dbg]>>> Version('1.10.0') == Version('1.10')
True

La version de packaging n'est pas prise en charge correctement, elle 
fait partie du troisième membre de l'objet Version

 >>> Version('1.10.0-3').members
['1', '10', '0-3']


Hubert

>
> ----------------------------------------------------
>
>
> Je ne parviens également pas à mettre mon paquet wapt en erreur
>
>
> Quelqu’un peut m'aider ?
>
> Simon
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.tranquil.it/pipermail/wapt/attachments/20150306/9df6feeb/attachment-0001.html>


More information about the WAPT mailing list