Salome HOME
ajout des unites. pas sur d avoir tout pousse
[tools/eficas.git] / Noyau / N_MCSIMP.py
index 046d2d08b494a20b7b39eb11ab4a785ed7975816..ee7a098900676d60541464f10dc8cde0bdff3f6e 100644 (file)
@@ -311,25 +311,33 @@ class MCSIMP(N_OBJECT.OBJECT):
         N_OBJECT.OBJECT.supprime(self)
 
     def getUserAssdPossible(self):
+        debug=False
+        if self.nom == 'ApplyOn' : debug = True
+        if debug : print ('____________', self, self.nom)
         classeAChercher = self.definition.type
+        if debug : print ('____________', classeAChercher)
         l=[]
         dicoValeurs={}
         d={}
+        if debug : print ('____________', self.definition.filtreVariables)
         if self.definition.filtreVariables != None :
             for (nomMC, Xpath) in self.definition.filtreVariables :
-                # print (nomMC, Xpath)
+                if debug : print (nomMC, Xpath)
                 if Xpath == None : dicoValeurs[nomMC] = getattr(self,nomMC)
                 else :
                     try: #if 1 :
                         pereMC=eval(Xpath)
+                        if debug : print ('pereMC :',pereMC)
                         if pereMC :
                             exp=Xpath+'.getChild("'+nomMC+'")'
                             leMotCle=eval(exp)
                         else : leMotCle=None
+                        if debug : print ('leMotCle', leMotCle)
                         if leMotCle :
                             if leMotCle.val : dicoValeurs[nomMC]=leMotCle.val
                             elif leMotCle.definition.max != 1 : dicoValeurs[nomMC] = []
                             else : dicoValeurs[nomMC] = None
+                            if debug : print ('dicoValeurs', dicoValeurs)
                         else :
                         #PN PN est-ce sur ? sinon quoi None ou []
                         # je pense que les 2 valeurs doivent ĂȘtre renseignees si le filtre depend de 2 valeurs
@@ -340,7 +348,11 @@ class MCSIMP(N_OBJECT.OBJECT):
 
         for k,v in self.parent.jdc.sdsDict.items():
             if (isinstance(v, classeAChercher)) :
+                if debug : print ('je traite', v)
                 if self.definition.filtreExpression :
+                    if debug : print ('expression', self.definition.filtreExpression)
+                    if debug : 
+                       print (v.executeExpression(self.definition.filtreExpression ,dicoValeurs) )
                     try :
                         if v.executeExpression(self.definition.filtreExpression ,dicoValeurs) : l.append(v)
                     except :