]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
pour les UserASSD . bug sur le nommage
authorpascale.noyret <pascale.noyret@edf.fr>
Mon, 18 Nov 2019 16:04:32 +0000 (17:04 +0100)
committerpascale.noyret <pascale.noyret@edf.fr>
Mon, 18 Nov 2019 16:04:32 +0000 (17:04 +0100)
Noyau/N_MCSIMP.py
Noyau/N_UserASSD.py

index 17ea74a695c7272b1619a19877d5306e822bc502..5ce0fdd8ab1febeaea09b225942c9abfd7da31af 100644 (file)
@@ -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):
index 838a057d334991b7c361ccf71610e0bd4d913434..bd47ce07a49e48772884945e52bcde9ec809ac98 100644 (file)
@@ -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