Salome HOME
CCAR: merge du developpement realise dans la branche BR_PN_VAL
[tools/eficas.git] / Validation / V_AU_MOINS_UN.py
1 #@ MODIF V_AU_MOINS_UN Validation  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
2 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3 # ======================================================================
4 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
5 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8 # (AT YOUR OPTION) ANY LATER VERSION.                                 
9 #
10 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14 #
15 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
16 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18 #                                                                       
19 #                                                                       
20 # ======================================================================
21
22 class AU_MOINS_UN:
23    """
24       La règle AU_MOINS_UN vérifie que l'on trouve au moins un des mots-clés
25       de la règle parmi les arguments d'un OBJECT.
26
27       Ces arguments sont transmis à la règle pour validation sous la forme 
28       d'une liste de noms de mots-clés ou d'un dictionnaire dont 
29       les clés sont des noms de mots-clés.
30    """
31    def verif(self,args):
32       """
33           La méthode verif vérifie que l'on trouve au moins un des mos-clés
34           de la liste self.mcs parmi les éléments de args
35
36           args peut etre un dictionnaire ou une liste. Les éléments de args
37           sont soit les éléments de la liste soit les clés du dictionnaire.
38       """
39       #  on compte le nombre de mots cles presents
40       text =''
41       count=0
42       args = self.liste_to_dico(args)
43       for mc in self.mcs:
44         if args.has_key(mc):count=count+1
45       if count == 0:
46           text =  "- Il faut au moins un mot-clé parmi : "+`self.mcs`+'\n'
47           return text,0
48       return text,1
49