# 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
"""
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()
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])
def supprime(self):
self.deleteReference()
ASSD.supprime(self)
-