]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
souci userASSD
authorpascale.noyret <pascale.noyret@edf.fr>
Thu, 25 Feb 2021 10:40:06 +0000 (11:40 +0100)
committerpascale.noyret <pascale.noyret@edf.fr>
Thu, 25 Feb 2021 10:40:06 +0000 (11:40 +0100)
Noyau/N_BLOC.py
Noyau/N_MCCOMPO.py
Noyau/N_MCSIMP.py
Noyau/N_OBJECT.py
Noyau/N_UserASSD.py
Noyau/N_UserASSDMultiple.py
Vimmp/cata_CSAndCPS_v16.py

index 73d9835fb0b08f9cfcb571fc67c5599bfe01fecf..18676fc306a1a0a617d9dc814ce3dc6efb0f0157 100644 (file)
@@ -108,9 +108,7 @@ class BLOC(N_ENTITE.ENTITE):
            Cette méthode vérifie si le dictionnaire passé en argument (dict)
            est susceptible de contenir un bloc de mots-clés conforme à la
            définition qu'il porte.
-
            Si la réponse est oui, la méthode retourne 1
-
            Si la réponse est non, la méthode retourne 0
 
            Le dictionnaire dict a pour clés les noms des mots-clés et pour valeurs
@@ -143,6 +141,7 @@ class BLOC(N_ENTITE.ENTITE):
                     "Catalogue entite : ", self.nom, ", de pere : ", self.pere.nom,
                     '\n', "Erreur dans la condition : ", self.condition, ''.join(l))
             except:
+                print (self.nom)
                 l = traceback.format_exception(
                     sys.exc_info()[0], sys.exc_info()[1], sys.exc_info()[2])
                 raise AsException(
index 288910dbb3599632bcbde8cee7bc980f03ea3254..1f48a50a84f8c0392005afac5d07eb58261a7ece 100644 (file)
@@ -351,7 +351,7 @@ class MCCOMPO(N_OBJECT.OBJECT):
             if v.label != 'SIMP': continue
             if v.position == 'local': continue
             if v.position == 'inGetAttribut': continue
-            if v.position == 'recalculeEtape': continue
+            if v.position == 'reCalculeEtape': continue
             if v.statut == 'o': continue
             obj = v(val=None, nom=k, parent=etape)
             dico[k] = obj.getValeur()
index 107bb142d9a0d6fbb36dec14c509862fcd632758..069b76b2ae11b54815bf64a1826f1a475356d011 100644 (file)
@@ -305,29 +305,45 @@ class MCSIMP(N_OBJECT.OBJECT):
        N_OBJECT.OBJECT.supprime(self)
 
     def getUserAssdPossible(self): 
+        print ('yyyyy')
         classeAChercher = self.definition.type
         l=[]
         dicoValeurs={}
         d={}
         for (nomMC, Xpath) in self.definition.filtreVariables :
+           print (nomMC, Xpath)
            if Xpath == None : 
               dicoValeurs[nomMC] = getattr(self,nomMC)
            else : 
-              exp=Xpath+'.getChild("'+nomMC+'")'
-              leMotCle=eval(exp)
+            #try:
+            if 1 :
+              pereMC=eval(Xpath)
+              if pereMC : 
+                 exp=Xpath+'.getChild("'+nomMC+'")'
+                 leMotCle=eval(exp)
+              else : leMotCle=None
               if leMotCle : 
                  if leMotCle.val : dicoValeurs[nomMC]=leMotCle.val
                  elif leMotCle.definition.max != 1 : dicoValeurs[nomMC] = []
                  else : dicoValeurs[nomMC] = None
               else : 
                  #PN PN est-ce sur ? sinon quoi None ou []
-                 # je ense que les 2 valeurs doivent être renseigne si le filtre depend de 2 valeurs
+                 # je pense que les 2 valeurs doivent être renseignees si le filtre depend de 2 valeurs
                  return l
+            #except:
+            #   return l
+             
           
         for k,v in self.parent.jdc.sdsDict.items():
           if (isinstance(v, classeAChercher)) :
            if self.definition.filtreExpression :  
-              if v.executeExpression(self.definition.filtreExpression ,dicoValeurs) : l.append(v)
+              try :
+                if v.executeExpression(self.definition.filtreExpression ,dicoValeurs) : l.append(v)
+              except :
+                print ('il faut comprendre except pour', self.nom)
+                #print (self.nom)
+                #print (self.parent.nom)
+                #print (k,v)
            else : l.append(v)
         return l
 
index 2619a284b249245bd9e57e74875db54995d820e3..71ae895cbfc269a50931e47a5a62b6b68c0ba164 100644 (file)
@@ -110,7 +110,7 @@ class OBJECT(object):
 
     def longueurDsArbre(self):
       if self.nom == "Consigne" : return 0
-      if self.nom == "BlocConsigne" : return 0
+      if self.nom == "blocConsigne" : return 0
       return 1
 
 
index 5d64658cfdf99ce0c8adddc9a9fd27dd61759a4a..010e3b7dc29505e71a2b762ea92a66493a10952a 100644 (file)
@@ -91,6 +91,7 @@ class UserASSD(ASSD):
        except : pass
 
     def renomme(self,nouveauNom):
+       print ('je passe dans renomme')
        self.jdc.delConcept(self.nom)
        self.jdc.sdsDict[nouveauNom] = self
        self.setName(nouveauNom)
@@ -104,6 +105,7 @@ class UserASSD(ASSD):
         for mc in self.utilisePar: mc.valeur=self
 
     def deleteReference(self, mcCreateur=None):
+       print ('je passe dans supprime de N_UserASSDMultiple')
     # meme signature que UserASSDMultiple
        for MC in self.utilisePar : 
           try :
@@ -133,11 +135,7 @@ class UserASSD(ASSD):
        
         
     def supprime(self, mcCreateur=None):
-    # meme signature que N_UserASSDMultiple
-        try : del self.jdc.sdsDict[self.nom]
-        except : print ('passe dans supprime mais pour', self.nom)
-        self.deleteReference(mcCreateur)
-        ASSD.supprime(self)
-
-
+    # mcCreateur utile pour N_UserASSDMultiple
+       print ('je passe dans supprime de N_UserASSDMultiple')
+       self.deleteReference(mcCreateur)
 
index 906f5ba622c4dd94ac8afe284609852784cc88a1..400b00c454b72adfd1751967ded992a7d892fd8a 100644 (file)
@@ -51,6 +51,16 @@ class UserASSDMultiple(UserASSD):
         if pere not in self.peres : self.peres.append(pere)
         etape = pere.getEtape()
         if self not in etape.userASSDCrees : etape.userASSDCrees.append(self)
+
+    def renomme(self,nouveauNom):
+       print ('je passe dans renomme')
+       #import traceback
+       #traceback.print_stack()
+       self.jdc.delConcept(self.nom)
+       self.jdc.sdsDict[nouveauNom] = self
+       self.setName(nouveauNom)
+       for mc in (self.utilisePar):
+           mc.demandeRedessine()
         
      
     def initialiseParent(self, pere):
@@ -58,6 +68,7 @@ class UserASSDMultiple(UserASSD):
         pass
         
     def deleteReference(self,mcCreateur):
+       print ('je passe dans deleteReference', mcCreateur.nom)
        if not(mcCreateur in self.peres) : return
        self.peres.pop(self.peres.index(mcCreateur))
        if len(self.peres)==0 : 
index 955cfb1c88a0999fca489673acdaea8265d2f2ad..867fa86cabd855802907749724582df7ad6df083 100644 (file)
@@ -1340,7 +1340,7 @@ def prepareBoundaryCondition():
       blocApplyOnParticle = BLOC(condition = "SystemType == 'Classical particle system' and TypeOfBoundaryCondition != 'Inlet'" ,
          ApplyOnAllsParticle  = SIMP(typ=bool, statut ='o', defaut = True,),
          blocSpecifyParticle  = BLOC(condition = "ApplyOnAllsParticle == False" ,
-             ApplyOnParticles = SIMP(statut ='o',max="**", typ = userParticle),
+             ApplyOnParticles = SIMP(statut ='o',max="**", typ = userParticle, homo='SansOrdreNiDoublon'),
          ),
       ),