Salome HOME
sauve du 20/12
[tools/eficas.git] / Noyau / N_VALIDATOR.py
index 13b4ae3f5db6930f4932365e81d578c140c780d2..e9493c7dd6d30690227c8bcbf5fd8be7dacefa11 100644 (file)
@@ -273,8 +273,7 @@ class IntoProtocol(PProtocol):
             if obj not in into:
                 raise ValError(
                     ufmt(
-                        _(tr(u"La valeur : %s  ne fait pas partie des choix possibles %s")),
-                        repr(obj), into))
+                        _(tr(u"La valeur : %s  ne fait pas partie des choix possibles %s")), repr(obj), into))
         else:
             # on est dans le cas d'un ensemble continu de valeurs possibles
             # (intervalle)
@@ -673,7 +672,7 @@ class NoRepeat(ListVal):
         self.cata_info = ""
 
     def info(self):
-        return _(u": pas de prĂ©sence de doublon dans la liste")
+        return _(u"Pas de doublon dans la liste")
 
     def info_erreur_liste(self):
         return _(u"Les doublons ne sont pas permis")
@@ -1038,6 +1037,7 @@ class AndVal(Valid):
         return chaine
 
     def info_erreur_liste(self):
+        chaine=""
         a = 1
         for v in self.validators:
             if v.info_erreur_liste() != " ":
@@ -1551,10 +1551,10 @@ class VerifTypeTuple(Valid, ListVal):
         self.cata_info = ""
 
     def info(self):
-        return _(tr(u": verifie les types dans un tuple"))
+        return _(tr(": verifie les types dans un tuple"))
 
     def info_erreur_liste(self):
-        return _(tr(u"Les types entres ne sont pas permis"))
+        return _(tr("Les types entres ne sont pas permis"))
 
     def default(self, valeur):
         # if valeur in self.liste : raise ValError("%s est un doublon" %
@@ -1600,6 +1600,8 @@ class VerifTypeTuple(Valid, ListVal):
         elif type_permis == 'TXM':
             if type(valeur) == types.StringType:
                 return 1
+        elif isinstance(valeur, type_permis):
+                return 1
         return 0
 
     def verif(self, valeur):
@@ -1715,3 +1717,47 @@ class FileExtVal(RegExpVal):
 
     def info(self):
         return u'Un nom de fichier se terminant par ".%s" est attendu.' % self.ext
+
+class CreeMotClef:
+    def __init__(self,MotClef ):
+        self.MotClef=MotClef
+        self.MCSimp=None
+         
+    def convert(self, lval):
+        print "dans convert"
+        try : valeur=lval[0]
+        except  : return lval
+
+        parent= self.MCSimp.parent
+        if hasattr(parent, 'inhibeValidator') and parent.inhibeValidator: return lval
+
+
+        if parent.get_child(self.MotClef) == None : longueur=0
+        else : longueur=len(parent.get_child(self.MotClef))
+
+        pos=parent.get_index_child(self.MCSimp.nom)+1
+        while longueur < valeur : 
+           parent.inhibeValidator=1
+           parent.addentite(self.MotClef,pos)
+           pos=pos+1
+           parent.inhibeValidator=0
+           longueur=len(parent.get_child(self.MotClef))
+
+        if longueur > valeur : 
+           parent.inhibeValide=1
+           parentObj=parent.get_child(self.MotClef)
+           obj=parent.get_child(self.MotClef)[-1]
+           parentObj.suppentite(obj)
+           longueur=len(parent.get_child(self.MotClef))
+           parent.inhibeValide=0
+        return lval
+
+    def info(self):
+        return "Cree le bon nombre de Mot %s"  % self.MotClef
+
+    def verif_item(self, valeur):
+        return 1
+
+    def set_MCSimp(self, MCSimp):
+        #print "dans set_MCSimp"
+        self.MCSimp=MCSimp