From a00a80c9b8538b7d769f8cfaa770367c6f0aff8e Mon Sep 17 00:00:00 2001 From: "pascale.noyret" Date: Mon, 18 Nov 2019 17:04:32 +0100 Subject: [PATCH] pour les UserASSD . bug sur le nommage --- Noyau/N_MCSIMP.py | 11 +++++------ Noyau/N_UserASSD.py | 5 ++--- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/Noyau/N_MCSIMP.py b/Noyau/N_MCSIMP.py index 17ea74a6..5ce0fdd8 100644 --- a/Noyau/N_MCSIMP.py +++ b/Noyau/N_MCSIMP.py @@ -90,10 +90,8 @@ class MCSIMP(N_OBJECT.OBJECT): 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 : @@ -104,7 +102,7 @@ class MCSIMP(N_OBJECT.OBJECT): 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: @@ -119,7 +117,8 @@ class MCSIMP(N_OBJECT.OBJECT): 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): diff --git a/Noyau/N_UserASSD.py b/Noyau/N_UserASSD.py index 838a057d..bd47ce07 100644 --- a/Noyau/N_UserASSD.py +++ b/Noyau/N_UserASSD.py @@ -53,13 +53,11 @@ class UserASSD(ASSD): 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 @@ -79,6 +77,7 @@ class UserASSD(ASSD): self.setName(nouveauNom) def deleteReference(self): + print ('je suis dans deleteReference') for MC in self.utilisePar : MC.valeur=None -- 2.39.2