Retourne la valeur effective du mot-clé en fonction
de la valeur donnée. Defaut si val == None
"""
- if (val is None and hasattr(self.definition, 'defaut')):
- val = self.definition.defaut
- if val in self.jdc.sdsDict.keys():
- return self.jdc.sdsDict[val]
+ if (val is None and hasattr(self.definition, 'defaut')): val = self.definition.defaut
+ if val in self.jdc.sdsDict.keys(): return self.jdc.sdsDict[val]
# dans le cas de lecture de .comm, il est possible que l objet est deja ete cree
# peut-etre devrait on aussi verifier que val est de type string ?
if self.definition.creeDesObjets :
else :
if val.nom=='sansNom' :
for leNom,laVariable in self.jdc.g_context.items():
- if id(laVariable)== id(val) :
+ if id(laVariable)== id(val) and (leNom != 'sansNom'):
val.initialiseNom(leNom)
return val
if self.convProto:
else : return (0, 'concept d un autre type existe deja')
if self.convProto:
objVal = self.convProto.convert(nomVal)
- objVal.initialiseNom(nomVal)
+ # inutile le init de UserASSD fait le necessaire
+ #objVal.initialiseNom(nomVal)
return (self.setValeur(objVal), 'reference cree')
def getValeur(self):
def initialiseNom(self,nom):
- self.nom = nom
for (i,j) in self.parent.sdsDict.items() :
if j == self :
- self.parent.sdsDict[nom]=self
del(self.parent.sdsDict[i])
- return
self.parent.sdsDict[nom]=self
+ self.nom=nom
def initialiseValeur(self,valeur=None):
self.valeur=valeur
self.setName(nouveauNom)
def deleteReference(self):
+ print ('je suis dans deleteReference')
for MC in self.utilisePar :
MC.valeur=None