]> SALOME platform Git repositories - tools/eficas.git/blob - Ihm/I_AVANT.py
Salome HOME
*** empty log message ***
[tools/eficas.git] / Ihm / I_AVANT.py
1 #@ MODIF V_AU_MOINS_UN Validation  DATE 14/09/2004   AUTEUR PNOYRET  
2 # -*- coding: iso-8859-1 -*-
3 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4 # ======================================================================
5 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
6 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
9 # (AT YOUR OPTION) ANY LATER VERSION.                                 
10 #
11 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15 #
16 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19 #                                                                       
20 #                                                                       
21 # ======================================================================
22
23 import types
24
25
26 class I_AVANT:
27    """
28       La règle I_AVANT vérifie que l'on trouve l ordre  des mots-clés
29       de la règle parmi les arguments d'un JDC.
30
31       Ces arguments sont transmis à la règle pour validation sous la forme 
32       d'une liste de noms de mots-clés ou d'un dictionnaire dont 
33       les clés sont des noms de mots-clés.
34    """
35
36    def __init__(self,*args):
37       if len(args) > 2 :
38         print "Erreur à la création de la règle A_CLASSER(",args,")"
39         return
40       if type(args[0]) == types.TupleType:
41          self.listeAvant=args[0]
42       else :
43          self.listeAvant=(args[0],)
44       if type(args[1]) == types.TupleType:
45          self.listeApres=args[1]
46       else :
47          self.listeApres=(args[1],)
48
49    def verif(self,args):
50       """
51           args peut etre un dictionnaire ou une liste. Les éléments de args
52           sont soit les éléments de la liste soit les clés du dictionnaire.
53       """
54       #  on compte le nombre de mots cles presents
55       text =''
56       boolListeAvant=0
57       boolListeApres=0
58       boolOK=1
59       for nom in args:
60           if nom in self.listeAvant :
61              boolListeAvant=1
62              if boolListeApres == 1 :
63                 boolOK = 0
64           if nom in self.listeApres :
65              boolListeApres=1
66       if boolListeAvant == 0 and boolListeApres == 1 : boolOK = 0
67       return text,boolOK
68
69
70    def gettext(self):
71        text = "Regle de classement "' :\n'
72        for mc in self.listeAvant : 
73            text = text + mc + ', '
74        text = text  + " \nAvant : \n" 
75        for mc in self.listeApres : 
76            text = text + mc + ','
77        return text
78