<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Le 05/03/2015 10:43, Simon Fonteneau a
écrit :<br>
</div>
<blockquote
cite="mid:CAC_a+qRHMDQU1B63PWyJObaU_modH8a_=qycUJzrzk=py92Oxw@mail.gmail.com"
type="cite">
<div dir="ltr">
<div>Bonjour a tous</div>
<div><br>
</div>
<div>Je galère un peu dans la création de paquet wapt.</div>
<div><br>
</div>
<div>Je souhaite faire quelque chose de ce type pour vérifier
que le logiciel à bien été installé avec la bonne version:</div>
<div><br>
</div>
<div><br>
</div>
<div>----------------------------------------------------</div>
<div><br>
</div>
<div><font color="#666666">#Je déclare ma version</font></div>
<div><font color="#666666">version = '0.91' </font></div>
<div><font color="#666666"><br>
</font></div>
<div><font color="#666666"># Recherche tout les logiciels qui
s'appelle inkscape</font></div>
<div><font color="#666666">check_installed =
installed_softwares('Inkscape')</font></div>
<div><font color="#666666"><br>
</font></div>
<div>
<div><font color="#666666"># si cette liste globale n est pas
vide</font></div>
<div><font color="#666666">if check_installed:</font></div>
<div><font color="#666666"><br>
</font></div>
<div><font color="#666666"># Je boucle pour chaque logiciel
trouvé</font></div>
<div><font color="#666666"> for uninstall in
check_installed:</font></div>
<div><font color="#666666"><br>
</font></div>
<div><font color="#666666"># Si la version du logiciel n'est
pas la même que ma version installé</font></div>
<div><font color="#666666"> if
Version(uninstall['version']) !=
Version(control['version']) :</font></div>
<div><font color="#666666"><br>
</font></div>
<div><font color="#666666">#J'indique que le check de sortie
ne fonctionne pas<br>
</font></div>
<div><font color="#666666"> print('Le check
de sortie ne fonctionne pas')</font></div>
<div><font color="#666666"><br>
</font></div>
<div><font color="#666666">#Et je génère une erreur pour que
le paquet soit en erreur dans wapt<br>
</font></div>
<div><font color="#666666"> mise en erreur</font></div>
</div>
<div><br>
</div>
<div><br>
</div>
<div>Seulement mon <span style="color:rgb(102,102,102)"> if
Version(uninstall['version']) != Version(control['version'])
: </span><font color="#000000"> ne fonctionne pas je soit
m'être mal débrouillé.</font></div>
</div>
</blockquote>
La clé version du fichier control inclut la version du packaging
après un tiret.<br>
Dans la base de registre, il ne doit y avoir que la version du
logiciel lui même.<br>
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)<br>
<br>
[Dbg]>>> control.version<br>
u'2.2.0-1'<br>
[Dbg]>>> control.version.split('-',1)[0]<br>
u'2.2.0'<br>
[Dbg]>>> Version(control.version.split('-',1)[0])<br>
2.2.0<br>
[Dbg]>>> installed_softwares('vlc')[0]['version']<br>
u'2.1.3'<br>
[Dbg]>>> Version(installed_softwares('vlc')[0]['version'])<br>
2.1.3<br>
<br>
La classe Version permet de comparer des versions numériquement et
pas alphabétiquement.<br>
[Dbg]>>> '1.10.0' > '1.9.0'<br>
False<br>
<br>
[Dbg]>>> Version('1.10.0') > Version('1.9.0')<br>
True<br>
<br>
[Dbg]>>> Version('1.10.0') == Version('1.10')<br>
True<br>
<br>
La version de packaging n'est pas prise en charge correctement, elle
fait partie du troisième membre de l'objet Version<br>
<br>
>>> Version('1.10.0-3').members<br>
['1', '10', '0-3']<br>
<br>
<br>
Hubert<br>
<br>
<blockquote
cite="mid:CAC_a+qRHMDQU1B63PWyJObaU_modH8a_=qycUJzrzk=py92Oxw@mail.gmail.com"
type="cite">
<div dir="ltr">
<div><font color="#000000"><br>
</font></div>
<div>----------------------------------------------------<br>
</div>
<div><font color="#000000"><br>
</font></div>
<div><font color="#000000"><br>
</font></div>
<div><font color="#000000">Je ne parviens également pas à mettre
mon paquet wapt en erreur </font></div>
<div><font color="#000000"><br>
</font></div>
<div><font color="#000000"><br>
</font></div>
<div><font color="#000000">Quelqu’un peut m'aider ?</font></div>
<div><font color="#000000"><br>
</font></div>
<div><font color="#000000">Simon</font></div>
<div><span style="color:rgb(0,0,0)"><br>
</span></div>
<div><span style="color:rgb(0,0,0)"> </span></div>
<br>
</div>
</blockquote>
<br>
</body>
</html>