]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
gestions des listes userassd en relecture d un comm
authorpascale.noyret <pascale.noyret@edf.fr>
Tue, 20 Oct 2020 09:06:39 +0000 (11:06 +0200)
committerpascale.noyret <pascale.noyret@edf.fr>
Tue, 20 Oct 2020 09:06:39 +0000 (11:06 +0200)
Noyau/N_MCSIMP.py
Noyau/N_UserASSD.py

index 92d007eb1eeba11c96abaa1f767f6e49d25c9262..5cc31129210ad34e5b4c20822617d8adb69901b1 100644 (file)
@@ -102,16 +102,23 @@ class MCSIMP(N_OBJECT.OBJECT):
          # peut-etre devrait on aussi verifier que val est de type string ?
         if self.definition.creeDesObjets : 
            # isinstance(val, self.definition.creeDesObjetsDeType) ne fonctionne pas car il y a un avec cata devant et l autre non
-           if val != None :
-             if  (not(val.__class__.__name__ == self.definition.creeDesObjetsDeType.__name__)) : 
-                 val=self.convProto.convert(val)
+           if val == None : return val
+           if not isinstance(val,(list,tuple)) : valATraiter=[val,]
+           else : valATraiter=val
+           listeRetour=[]
+           for v in valATraiter:
+             if  (not(v.__class__.__name__ == self.definition.creeDesObjetsDeType.__name__)) : 
+                 v=self.convProto.convert(v)
              else :
-                 if val.nom=='sansNom' : 
+                 if v.nom=='sansNom' : 
                     for leNom,laVariable in self.jdc.g_context.items():
-                      if id(laVariable)== id(val) and (leNom != 'sansNom'):
-                         val.initialiseNom(leNom)
-                 if val.parent== None : val.initialiseParent(self) 
-           return val
+                      if id(laVariable)== id(v) and (leNom != 'sansNom'):
+                         v.initialiseNom(leNom)
+                 if v.parent== None : v.initialiseParent(self) 
+             listeRetour.append(v)
+           if isinstance(val,(list,tuple)) :newVal=listeRetour 
+           else : newVal=listeRetour[0]
+           return newVal
         if self.convProto:
            val = self.convProto.convert(val)
         return val
index f730a0c4964cff7250dcf110e075524c4ff97afb..7bc6f048d92945395218bb10999ffd84ebcfa8f9 100644 (file)
@@ -44,9 +44,9 @@ class UserASSD(ASSD):
     """
 
     def __init__(self,nom='sansNom'):
-       #print ('dans init de UserASSD pour ', nom)
-       self.nom    = nom
-       self.jdc    = CONTEXT.getCurrentJdC()
+       #print ('dans init de UserASSD pour ', nom, type(nom))
+       self.nom = nom
+       self.jdc = CONTEXT.getCurrentJdC()
        self.parent = None 
        self.initialiseValeur()
        self.utilisePar = set()
@@ -61,7 +61,7 @@ class UserASSD(ASSD):
        self.parent= parent
 
     def initialiseNom(self,nom):
-       #print ('je passe initialiseNom pour : ', self, nom)
+       print ('je passe initialiseNom pour : ', self, nom, type(nom))
        for (i,j)  in self.jdc.sdsDict.items() :
           if j == self : 
              del(self.jdc.sdsDict[i])
@@ -129,4 +129,3 @@ class UserASSD(ASSD):
     def supprime(self):
         self.deleteReference()
         ASSD.supprime(self)
-