[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