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
"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(
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()
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
def longueurDsArbre(self):
if self.nom == "Consigne" : return 0
- if self.nom == "BlocConsigne" : return 0
+ if self.nom == "blocConsigne" : return 0
return 1
except : pass
def renomme(self,nouveauNom):
+ print ('je passe dans renomme')
self.jdc.delConcept(self.nom)
self.jdc.sdsDict[nouveauNom] = self
self.setName(nouveauNom)
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 :
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)
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):
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 :
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'),
),
),