Bonjour
Cela fait un petit moment que j'utilise ce genre de chose pour comparer les logiciel
softname = 'logicielname' check_installed = installed_softwares(softname) # si cette liste globale n est pas vide, on check chaque logiciel if check_installed: # boucle pour chaque logiciel trouvée for uninstall in check_installed: if Version(uninstall['version']) == Version(control['version'].split('-',1)[0]): print(u'The software is already installed' ) return (0);
Mais je doit faire une erreur
Dans mon cas:
La version a installer (dans le fichier control) : 6.7.9.2
La version du logiciel présente sur la machine : 6.7.9
Mon problème est qu'il semblerai que le == fonctionne alors que les deux valeur ne sont pas égale. (vérifier avec print)
Une piste ?
Simon
--
Tout fonctionne avec str.
if str(Version(uninstall['version'])) == str(Version(control['version'].split('-',1)[0])):
Mais je ne sais pas si c'est vraiment judicieux.
Simon
Le 19 juin 2015 10:28, Simon Fonteneau sfonteneau@stemarie-aizenay.fr a écrit :
Bonjour
Cela fait un petit moment que j'utilise ce genre de chose pour comparer les logiciel
softname = 'logicielname' check_installed = installed_softwares(softname) # si cette liste globale n est pas vide, on check chaque logiciel if check_installed: # boucle pour chaque logiciel trouvée for uninstall in check_installed: if Version(uninstall['version']) == Version(control['version'].split('-',1)[0]): print(u'The software is already installed' ) return (0);
Mais je doit faire une erreur
Dans mon cas:
La version a installer (dans le fichier control) : 6.7.9.2
La version du logiciel présente sur la machine : 6.7.9
Mon problème est qu'il semblerai que le == fonctionne alors que les deux valeur ne sont pas égale. (vérifier avec print)
Une piste ?
Simon
--
--
Oui... le comportement est voulu... même si ce n'est finalement peut être pas souhaitable dans ce cas.
La version majeure est identique.
Version('1.2.3') == Version('1.2.3.4')
True
Version('1.2.3.4') == Version('1.2.3')
True
Version('1.2.3.4') == Version('1.2.3.3')
False
Le 19/06/2015 10:28, Simon Fonteneau a écrit :
Bonjour
Cela fait un petit moment que j'utilise ce genre de chose pour comparer les logiciel
softname = 'logicielname' check_installed = installed_softwares(softname) # si cette liste globale n est pas vide, on check chaque logiciel if check_installed: # boucle pour chaque logiciel trouvée for uninstall in check_installed: if Version(uninstall['version']) == Version(control['version'].split('-',1)[0]): print(u'The software is already installed' ) return (0);
Mais je doit faire une erreur
Dans mon cas:
La version a installer (dans le fichier control) : 6.7.9.2
La version du logiciel présente sur la machine : 6.7.9
Mon problème est qu'il semblerai que le == fonctionne alors que les deux valeur ne sont pas égale. (vérifier avec print)
Une piste ?
Simon
--
WAPT mailing list WAPT@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt
Merci
Du coup mon utilisation de str() est elle la bonne méthode dans mon cas ?
Simon
Le 19/06/2015 12:10, Hubert TOUVET a écrit :
Oui... le comportement est voulu... même si ce n'est finalement peut être pas souhaitable dans ce cas.
La version majeure est identique.
Version('1.2.3') == Version('1.2.3.4')
True
Version('1.2.3.4') == Version('1.2.3')
True
Version('1.2.3.4') == Version('1.2.3.3')
False
Le 19/06/2015 10:28, Simon Fonteneau a écrit :
Bonjour
Cela fait un petit moment que j'utilise ce genre de chose pour comparer les logiciel
softname = 'logicielname' check_installed = installed_softwares(softname) # si cette liste globale n est pas vide, on check chaque logiciel if check_installed: # boucle pour chaque logiciel trouvée for uninstall in check_installed: if Version(uninstall['version']) == Version(control['version'].split('-',1)[0]): print(u'The software is already installed' ) return (0);
Mais je doit faire une erreur
Dans mon cas:
La version a installer (dans le fichier control) : 6.7.9.2
La version du logiciel présente sur la machine : 6.7.9
Mon problème est qu'il semblerai que le == fonctionne alors que les deux valeur ne sont pas égale. (vérifier avec print)
Une piste ?
Simon
--
WAPT mailing list WAPT@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt
WAPT mailing list WAPT@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt
Autant comparer directement les chaines...
uninstall['version'] == control['version'].split('-',1)[0]
Le 19/06/2015 12:26, Fonteneau Simon a écrit :
Merci
Du coup mon utilisation de str() est elle la bonne méthode dans mon cas ?
Simon
Le 19/06/2015 12:10, Hubert TOUVET a écrit :
Oui... le comportement est voulu... même si ce n'est finalement peut être pas souhaitable dans ce cas.
La version majeure est identique.
Version('1.2.3') == Version('1.2.3.4')
True
Version('1.2.3.4') == Version('1.2.3')
True
Version('1.2.3.4') == Version('1.2.3.3')
False
Le 19/06/2015 10:28, Simon Fonteneau a écrit :
Bonjour
Cela fait un petit moment que j'utilise ce genre de chose pour comparer les logiciel
softname = 'logicielname' check_installed = installed_softwares(softname) # si cette liste globale n est pas vide, on check chaque logiciel if check_installed: # boucle pour chaque logiciel trouvée for uninstall in check_installed: if Version(uninstall['version']) == Version(control['version'].split('-',1)[0]): print(u'The software is already installed' ) return (0);
Mais je doit faire une erreur
Dans mon cas:
La version a installer (dans le fichier control) : 6.7.9.2
La version du logiciel présente sur la machine : 6.7.9
Mon problème est qu'il semblerai que le == fonctionne alors que les deux valeur ne sont pas égale. (vérifier avec print)
Une piste ?
Simon
--
WAPT mailing list WAPT@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt
WAPT mailing list WAPT@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt
WAPT mailing list WAPT@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt
Merci
Le problème c'est que je si dans mon fichier Control j'indique : 6.7.09.2 il deviendra 6.7.9.2
Ceci est modifier à l'upload du paquet. Je suppose qu'il y a un Version( ) derrière.
Et ma mon if == ne fonctionnera plus
Du coup pour le moment mon str fonctionne mieux
Un autre idée ?
Simon
Le 19 juin 2015 13:12, Hubert TOUVET htouvet@tranquil.it a écrit :
Autant comparer directement les chaines...
uninstall['version'] == control['version'].split('-',1)[0]
Le 19/06/2015 12:26, Fonteneau Simon a écrit :
Merci
Du coup mon utilisation de str() est elle la bonne méthode dans mon cas ?
Simon
Le 19/06/2015 12:10, Hubert TOUVET a écrit :
Oui... le comportement est voulu... même si ce n'est finalement peut être pas souhaitable dans ce cas.
La version majeure est identique.
Version('1.2.3') == Version('1.2.3.4')
True
Version('1.2.3.4') == Version('1.2.3')
True
Version('1.2.3.4') == Version('1.2.3.3')
False
Le 19/06/2015 10:28, Simon Fonteneau a écrit :
Bonjour
Cela fait un petit moment que j'utilise ce genre de chose pour comparer les logiciel
softname = 'logicielname' check_installed = installed_softwares(softname) # si cette liste globale n est pas vide, on check chaque logiciel if check_installed: # boucle pour chaque logiciel trouvée for uninstall in check_installed: if Version(uninstall['version']) == Version(control['version'].split('-',1)[0]): print(u'The software is already installed' ) return (0);
Mais je doit faire une erreur
Dans mon cas:
La version a installer (dans le fichier control) : 6.7.9.2
La version du logiciel présente sur la machine : 6.7.9
Mon problème est qu'il semblerai que le == fonctionne alors que les deux valeur ne sont pas égale. (vérifier avec print)
Une piste ?
Simon
--
WAPT mailing listWAPT@lists.tranquil.ithttp://lists.tranquil.it/listinfo/wapt
WAPT mailing listWAPT@lists.tranquil.ithttp://lists.tranquil.it/listinfo/wapt
WAPT mailing listWAPT@lists.tranquil.ithttp://lists.tranquil.it/listinfo/wapt
WAPT mailing list WAPT@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt
--