Salome HOME
Import dans la branche I26 de la version 7.1.16 modifiée par CCAR (au 18/9/2003)
[tools/eficas.git] / Validation / V_MCSIMP.py
index 462147d5531d6a154c836fd0527bd9043f5c4153..e4d43bc1b0f5928a46634e9fb8e22ce118b66aef 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF V_MCSIMP Validation  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF V_MCSIMP Validation  DATE 09/09/2003   AUTEUR DURAND C.DURAND 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -86,12 +86,21 @@ class MCSIMP:
             self.cr.fatal(string.join(("Mot-clé : ",self.nom," obligatoire non valorisé")))
           valid = 0
         # type,into ...
-        valid = self.verif_type(cr=cr)*self.verif_into(cr=cr)*self.verif_card(cr=cr)
+        valid = self.verif_type(val=v,cr=cr)*self.verif_into(cr=cr)*self.verif_card(cr=cr)
+        #
+        # On verifie les validateurs s'il y en a
+        #
+        if self.definition.validators and not self.definition.validators.verif(self.valeur):
+           if cr == 'oui' :
+              self.cr.fatal(string.join(("Mot-clé : ",self.nom,"devrait avoir ",self.definition.validators.info())))
+           valid=0
+        # fin des validateurs
+        #
         self.valid = valid
         self.state = 'unchanged'
         # Si la validité du mot clé a changé, on le signale à l'objet parent
-        if old_valid:
-          if old_valid != self.valid : self.init_modif_up()
+        if not old_valid or old_valid != self.valid : 
+           self.init_modif_up()
         return self.valid
 
    def isoblig(self):
@@ -127,18 +136,15 @@ class MCSIMP:
    def verif_type(self,val=None,cr='non'):
       """
         FONCTION :
-         Cette méthode a plusieurs modes de fonctionnement liés à la valeur de val et de cr.
-         Si cr ne vaut pas 'oui' : elle ne remplit pas le compte-rendu self.cr
-         Si val vaut None, elle vérifie le type de self.valeur
-         Si val ne vaut pas None, elle vérifie le type de val
+         Cette methode verifie que le type de l'argument val est en conformite avec celui 
+         qui est declare dans la definition du mot cle simple.
+         Elle a plusieurs modes de fonctionnement liés à la valeur de cr.
+         Si cr vaut 'oui' : elle remplit le compte-rendu self.cr sinon elle ne le remplit pas.
         PARAMETRE DE RETOUR :
-         Cette méthode retourne une valeur booléenne qui vaut 1 si le type est correct ou 0 sinon
+         Cette méthode retourne une valeur booléenne qui vaut 1 si le type de val est correct ou 0 sinon
          
       """
-      if val != None:
-        valeur = val
-      else:
-        valeur = self.valeur
+      valeur = val
       if valeur == None :
         if cr == 'oui':
           self.cr.fatal("None n'est pas une valeur autorisée")
@@ -235,6 +241,9 @@ class MCSIMP:
         else:
           print "Objet non reconnu dans is_complexe %s" %`valeur`
           return 0
+      # Pour permettre l'utilisation de complexes Python
+      #elif type(valeur) == types.ComplexType:
+        #return 1
       elif type(valeur) != types.TupleType :
         return 0
       else: