From 9625def90fb6e076f6942402fb17dc38de656f03 Mon Sep 17 00:00:00 2001 From: Pascale Noyret Date: Thu, 4 Nov 2010 13:21:04 +0000 Subject: [PATCH] correction de bug --- Validation/V_AU_PLUS_UN.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/Validation/V_AU_PLUS_UN.py b/Validation/V_AU_PLUS_UN.py index ddc76132..8dc048a3 100644 --- a/Validation/V_AU_PLUS_UN.py +++ b/Validation/V_AU_PLUS_UN.py @@ -20,6 +20,8 @@ # ====================================================================== +import types + class AU_PLUS_UN: """ La règle vérifie que l'on trouve 1 (au plus) des mots-clés @@ -39,12 +41,25 @@ class AU_PLUS_UN: """ # on compte le nombre de mots cles presents text ='' - count=0 + count = 0 args = self.liste_to_dico(args) for mc in self.mcs: - if args.has_key(mc):count=count+1 + if args.has_key(mc):count=count+args[mc] if count > 1: text = "- Il ne faut qu'un mot-clé (au plus) parmi : "+`self.mcs`+'\n' return text,0 return text,1 + def liste_to_dico(self,args) : + if type(args) == types.DictionaryType: + return args + elif type(args) == types.ListType: + dico={} + for arg in args : + if dico.has_key(arg): + dico[arg]=dico[arg]+1 + else : + dico[arg]=1 + return dico + else : + raise "Erreur ce n'est ni un dictionnaire ni une liste",args -- 2.39.2