Salome HOME
correction pb condition_context avec newJDC
[tools/eficas.git] / Extensions / parametre.py
index 0f7c8d11327128324282d056af2d8e07085abae6..399a906376f25e601970f2332366e9a06c95a672 100644 (file)
@@ -28,6 +28,7 @@
 
 # import de modules Python
 import string,types
+from math import *
 
 # import de modules Eficas
 from Noyau.N_CR import CR
@@ -45,6 +46,7 @@ class PARAMETRE :
 
   def __init__(self,nom,valeur=None):
     # parent ne peut être qu'un objet de type JDC
+    self.dict_valeur=[]
     self.valeur = self.interprete_valeur(valeur)
     self.val=valeur
     self.nom = nom
@@ -56,13 +58,125 @@ class PARAMETRE :
     self.actif=1
     self.state='undetermined'
     self.register()
-    self.dict_valeur=[]
-    self.interprete_valeur(valeur)
 
   def __getitem__(self,key):
     param_item=ITEM_PARAMETRE(self,key)
     return param_item
 
+  def __neg__(self):
+    try:
+      return -1*self.valeur
+    except:
+      print "******* Probleme : pas de valeur négative"
+      return None
+    
+  def __add__(self,a):
+    try :
+      return self.valeur+a.valeur
+    except :
+      print "******* Probleme : a l addition"
+      return None
+
+  def __radd__(self,a):
+    try :
+      return self.valeur+a.valeur
+    except :
+      print "******* Probleme : a l addition"
+      return None
+
+  def __sub__(self,a):
+    try :
+      return self.valeur  - a.valeur
+    except :
+      print "******* Probleme : a la soustraction"
+      return None
+
+  def __rsub__(self,a):
+    try :
+      return a.valeur - self.valeur
+    except :
+      print "******* Probleme : a la soustraction"
+      return None
+
+  def __mul__(self,a):
+    try :
+      return self.valeur*a.valeur
+    except :
+      print "******* Probleme : a la multiplication"
+      return None
+
+  def __rmul__(self,a):
+    try :
+      return self.valeur*a.valeur
+    except :
+      print "******* Probleme : a la multiplication"
+      return None
+
+  def __mul__(self,a):
+    try :
+      return self.valeur*a.valeur
+    except :
+      print "******* Probleme : a la multiplication"
+      return None
+
+  def __rmul__(self,a):
+    try :
+      return self.valeur*a.valeur
+    except :
+      print "******* Probleme : a la multiplication"
+      return None
+
+  def __add__(self,other):
+    try :
+      return self.valeur+other
+    except :
+      print "******* Probleme : a l addition"
+      return None
+
+  def __radd__(self,other):
+    try :
+      return self.valeur+other
+    except :
+      print "******* Probleme : a l addition"
+      return None
+
+  def __sub__(self,other):
+    try :
+      return self.valeur  - other
+    except :
+      print "******* Probleme : a la soustraction"
+      return None
+
+  def __rsub__(self,other):
+    try :
+      return other - self.valeur
+    except :
+      print "******* Probleme : a la soustraction"
+      return None
+
+  def  __mul__ (self,other):
+    retour=None
+    try :
+      retour = eval(self.valeur) * other
+    except :
+      try :
+         retour = self.valeur * other
+      except :
+         print "******* Probleme : a la multiplication"
+    return retour
+
+  def __rmul__ (self,other):
+    retour=None
+    try :
+      retour = eval(self.valeur) * other
+    except :
+      try :
+         retour = self.valeur * other
+      except :
+         print "******* Probleme : a la multiplication"
+    return retour
+
+
   def interprete_valeur(self,val):
     """
     Essaie d'interpréter val (chaîne de caractères)comme :