+# -*- 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
import traceback
# import modules Eficas
-import Accas
import interpreteur_formule
from Noyau.N_CR import CR
import parametre
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
"""
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
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()
"""
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):
"""
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
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
"""
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