Salome HOME
*** empty log message ***
[tools/eficas.git] / Extensions / parametre_eval.py
index 8518aa46adf935848ba11d6c2ef27ae27e9010dc..1f33c9a65cd38dfccf51bbd2d61d13c5834c6125 100644 (file)
@@ -1,3 +1,23 @@
+# -*- coding: utf-8 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
 """
 Ce module contient la classe PARAMETRE_EVAL qui sert à définir
 des objets paramètres qui sont compréhensibles et donc affichables
@@ -10,7 +30,6 @@ import string,types,re
 import traceback
 
 # import modules Eficas
-import Accas
 import interpreteur_formule
 from Noyau.N_CR import CR
 import parametre
@@ -20,8 +39,7 @@ pattern_eval       = re.compile(r'^(EVAL)([ \t\r\f\v]*)\(([\w\W]*)')
 class PARAMETRE_EVAL(parametre.PARAMETRE) :
   """
   Cette classe permet de créer des objets de type PARAMETRE_EVAL
-  cad des affectations directes évaluées dans le jeu de commandes
-              (ex: a=EVAL('''10.*SQRT(25)'''))
+  cad des affectations directes évaluées dans le jeu de commandes (ex: a=EVAL('''10.*SQRT(25)'''))
   qui sont interprétées par le parseur de fichiers Python.
   Les objets ainsi créés constituent des paramètres évalués pour le jdc
   """
@@ -30,6 +48,8 @@ class PARAMETRE_EVAL(parametre.PARAMETRE) :
 
   def __init__(self,nom,valeur=None):
     # parent ne peut être qu'un objet de type JDC
+    import Accas
+    self.Accas_EVAL=Accas.EVAL
     self.valeur = self.interprete_valeur(valeur)
     self.val    = valeur
     self.nom = nom
@@ -37,6 +57,7 @@ class PARAMETRE_EVAL(parametre.PARAMETRE) :
     self.definition=self
     self.niveau = self.parent.niveau
     self.actif=1
+    self.state='undetermined'
     # Ceci est-il indispensable ???
     #self.appel = N_utils.callee_where(niveau=2)
     self.register()
@@ -45,7 +66,7 @@ class PARAMETRE_EVAL(parametre.PARAMETRE) :
     """
         Donne un echo de self sous la forme nom = valeur
     """
-    return self.nom+' = '+ repr(self.valeur) + '\n'
+    return self.nom+' = '+ repr(self.valeur) 
 
   def __str__(self):
     """
@@ -63,7 +84,7 @@ class PARAMETRE_EVAL(parametre.PARAMETRE) :
     d={}
     val = string.strip(val)
     if val[-1] == ';' : val = val[0:-1]
-    d['EVAL'] = Accas.EVAL
+    d['EVAL'] = self.Accas_EVAL
     try:
         valeur = eval(val,{},d)
         return valeur
@@ -153,8 +174,7 @@ class PARAMETRE_EVAL(parametre.PARAMETRE) :
   def verif_parametre_eval(self,param=None,cr='non'):
     """
     Vérifie la validité du paramètre EVAL passé en argument.
-    Ce nouveau paramètre est passé sous la forme d'un tuple :
-                (nom,valeur)
+    Ce nouveau paramètre est passé sous la forme d'un tuple : (nom,valeur)
     Si aucun tuple passé, prend les valeurs courantes de l'objet
     Retourne :
             - un booléen, qui vaut 1 si EVAL licite, 0 sinon
@@ -191,8 +211,8 @@ class PARAMETRE_EVAL(parametre.PARAMETRE) :
     """
     Retourne 1 si self est valide, 0 sinon
     Un paramètre évalué est considéré comme valide si :
-    - il a un nom
-    - il a une valeur qui est interprétable par l'interpréteur de FORMULEs
+      - il a un nom
+      - il a une valeur qui est interprétable par l'interpréteur de FORMULEs
     """
     resu,erreur= self.verif_parametre_eval(cr=cr)
     return resu