<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>