def initDico(self) :
self.Dico={}
+ self.Entete = ''
#----------------------------------------------------------------------------------------
#----------------------------------------------------------------------------------------
def writeDefault(self,fn) :
- print "je passe par writeDefault"
fileDico = fn[:fn.rfind(".")] + '.py'
f = open( str(fileDico), 'wb')
- f.write( str(self.Dico) )
+ f.write( self.Entete + "Dico =" + str(self.Dico) )
f.close()
#----------------------------------------------------------------------------------------
def generMCSIMP(self,obj) :
"""recuperation de l objet MCSIMP"""
+
s=PythonGenerator.generMCSIMP(self,obj)
liste=obj.get_genealogie()
- dicoCourant=self.Dico
- for i in liste [0:-1]:
- if not(dicoCourant.has_key(i)) : dicoCourant[i]={}
- dicoCourant=dicoCourant[i]
- dicoCourant[liste[-1]]=obj.valeur
+ nom=obj.etape.nom
+ if hasattr(obj.etape,'sdnom') and obj.etape.sdnom != None and obj.etape.sdnom != "" :
+ nom = nom+ obj.etape.sdnom
+ if not(self.Dico.has_key(nom)) : dicoCourant={}
+ else : dicoCourant=self.Dico [nom]
+ if hasattr(obj.valeur,'nom'):dicoCourant[liste[-1]]=obj.valeur.nom
+ else :
+ if type(obj.valeur) in (types.ListType,types.TupleType):
+ try :
+#PNPNPN a remplacer par plus propre
+ if obj.definition.validators.typeDesTuples[0] !='R' :
+ val=[]
+ elt=[]
+ for tupleElt in obj.valeur :
+ elt=(str(tupleElt[0]),tupleElt[1])
+ val.append(elt)
+ dicoCourant[liste[-1]]=val
+ else :dicoCourant[liste[-1]]=obj.valeur
+ except :
+ dicoCourant[liste[-1]]=obj.valeurFormatee
+ else :dicoCourant[liste[-1]]=obj.valeurFormatee
+ self.Dico[nom]=dicoCourant
+
return s