Salome HOME
pour MT 02_06_17
[tools/eficas.git] / InterfaceQT4 / politiquesValidation.py
index b7c3a48f06bf507256e76c48a0efd4507adbcb52..1cd9c713c6fbf19f60c5fc19b8e2091a5cb7cd79 100644 (file)
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 # Modules Python
-import types, string
+from __future__ import absolute_import
+try :
+   from builtins import range
+except : pass
+
+import types
 from Accas import PARAMETRE
 from Extensions.i18n import tr
 
 
 #------------------
-class Validation  :
+class Validation(object)  :
 #------------------
   def __init__(self,node,parent) :
          self.node=node
@@ -34,22 +39,23 @@ class Validation  :
          commentaire = None
          valeur,validite=self.node.item.eval_valeur(valeurentree)
          if not validite :
-                  commentaire = "impossible d'evaluer : %s " %`valeurentree`
+                  commentaire = "impossible d'evaluer : %s " %repr(valeurentree)
                   return valeur,validite,commentaire
+         if self.node.item.wait_TXM() and not( type(valeur) == str) : valeur=str(valeur) 
 
          testtype,commentaire = self.node.item.object.verif_type(valeur)
          if not testtype :
                   return valeur,0,commentaire
 
          valide=self.node.item.valide_item(valeur)
-         if type(valide) == types.TupleType:
+         if type(valide) == tuple:
                  validite,commentaire=valide
          else :
                  validite=valide
                  commentaire=" "
 
          if not validite and commentaire is None:
-                  commentaire = "impossible d'évaluer : %s " %`valeurentree`
+                  commentaire = "impossible d'evaluer : %s " %repr(valeurentree)
          return valeur, validite, commentaire
 
 # ----------------------------------------------------------------------------------------
@@ -64,12 +70,12 @@ class Validation  :
                         if str(clef) != str(texteValeur) :
                            self.node.item.object.init_modif()
                            clefobj=self.node.item.object.GetNomConcept()
-                           if not self.parent.appliEficas.dict_reels.has_key(clefobj):
+                           if not clefobj in self.parent.appliEficas.dict_reels:
                               self.parent.appliEficas.dict_reels[clefobj] = {}
                            self.parent.appliEficas.dict_reels[clefobj][clef]=texteValeur
                            self.parent.appliEficas.dict_reels[clefobj]
                            if clefobj=="" : 
-                              if not self.parent.appliEficas.dict_reels.has_key(self.node.item.object.etape) :
+                              if not self.node.item.object.etape in self.parent.appliEficas.dict_reels :
                                  self.parent.appliEficas.dict_reels[self.node.item.object.etape] = {}
                               self.parent.appliEficas.dict_reels[self.node.item.object.etape][clef]=texteValeur
                            self.node.item.object.fin_modif()
@@ -78,23 +84,26 @@ class Validation  :
 
   def GetValeurTexte(self,valeur) :
          valeurTexte=valeur
+         if valeur == None : return valeur
          from decimal import Decimal
          if  isinstance(valeur,Decimal) :
-             return valeur 
-         if valeur == None : return valeur
+             if self.node.wait_TXM() and not self.is_param(valeur) : return "'"+str(valeur)+"'"
+             else : return(valeur)
          if "R" in self.node.item.object.definition.type:
                   clefobj=self.node.item.object.GetNomConcept()
-                  if self.parent.appliEficas.dict_reels.has_key(clefobj):
-                     if self.parent.appliEficas.dict_reels[clefobj].has_key(valeur):
+                  if clefobj in self.parent.appliEficas.dict_reels:
+                     if valeur in self.parent.appliEficas.dict_reels[clefobj] :
                         valeurTexte=self.parent.appliEficas.dict_reels[clefobj][valeur]
                   else :
-                     if string.find(str(valeur),'.') == -1 and string.find(str(valeur),'e') == -1 and string.find(str(valeur),'E'):
-                     # aucun '.' n'a été trouvé dans valeur --> on en rajoute un a la fin
-                        print self.is_param(valeur)
+                     if str(valeur).find('.') == -1 and str(valeur).find('e') == -1 and str(valeur).find('E'):
+                     # aucun '.' n'a ete trouve dans valeur --> on en rajoute un a la fin
                         if (self.is_param(valeur)):
                            return valeur
                         else:
-                          val2=eval(str(valeur)+'.')
+                          try :
+                            val2=eval(str(valeur)+'.')
+                          except :
+                            pass
          return valeurTexte
 
   def is_param(self,valeur) :
@@ -113,11 +122,11 @@ class Validation  :
                    clef=eval(texteValeur)
                    if str(clef) != str(texteValeur) :
                       clefobj=self.node.item.object.GetNomConcept()
-                      if not self.parent.appliEficas.dict_reels.has_key(clefobj):
+                      if not clefobj in self.parent.appliEficas :
                           self.parent.appliEficas.dict_reels[clefobj] = {}
                       self.parent.appliEficas.dict_reels[clefobj][clef]=texteValeur
                       if clefobj=="" : 
-                         if not self.parent.appliEficas.dict_reels.has_key(self.node.item.object.etape) :
+                         if not self.node.item.object.etape in self.parent.appliEficas.dict_reels :
                             self.parent.appliEficas.dict_reels[self.node.item.object.etape] = {}
                          self.parent.appliEficas.dict_reels[self.node.item.object.etape][clef]=texteValeur
                           
@@ -126,7 +135,7 @@ class Validation  :
 
   def AjoutDsDictReelEtape(self):
       try:
-         if self.parent.appliEficas.dict_reels.has_key(self.node.item.object) :
+         if self.node.item.object in self.parent.appliEficas.dict_reels:
             self.parent.appliEficas.dict_reels[self.node.item.sdnom]=self.parent.appliEficas.dict_reels[self.node.item.object]
             del self.parent.appliEficas.dict_reels[self.node.item.object]
       except :
@@ -179,12 +188,12 @@ class PolitiquePlusieurs(Validation):
 
   def AjoutValeurs(self,listevaleur,index,listecourante):
          listeRetour=[]
-         commentaire="Nouvelle valeur acceptée"
+         commentaire="Nouvelle valeur acceptee"
          commentaire2=""
          valide=1
          if listevaleur==None: return
          if listevaleur=="": return
-         if not( type(listevaleur)  in (types.ListType,types.TupleType)) :
+         if not( type(listevaleur)  in (list,tuple)) :
             listevaleur=tuple(listevaleur)
          # on verifie que la cardinalite max n a pas ete atteinte
          min,max = self.node.item.GetMinMax()
@@ -217,7 +226,6 @@ class PolitiquePlusieurs(Validation):
                 commentaire2=self.node.item.info_erreur_liste()
                 # On traite le cas ou la liste n est pas valide pour un pb de cardinalite
                 min,max = self.node.item.GetMinMax()
-                print len(listecourante) 
                 if len(listecourante) + 1 >= max :
                    commentaire="La liste atteint le nombre maximum d'elements : "+ str(max) +" ,ajout refuse"
                    return valide,commentaire,commentaire2,listeRetour