# self.valeur tient compte de la valeur par defaut
# utiliser getValeur ? expression numpy
if not self.cata.modeleMetier : return
+ if CONTEXT.fromXML : return
#print ('X_MCSIMP buildObjPyxb', self.nom, self,self.valeur)
self.monNomClasseModeleMetier='T_'+self.nom
self.maClasseModeleMetier=getattr(self.cata.modeleMetier,self.monNomClasseModeleMetier)
#print (self.maClasseModeleMetier)
- #print (self.valeur)
+ print (self.valeur)
+ print (type(self.valeur))
if self.valeur != None : self.objPyxb=self.maClasseModeleMetier(self.valeur)
elif self.definition.into != None and 'TXM' in self.definition.type : self.objPyxb = None
else : self.objPyxb=self.maClasseModeleMetier()
+ self.filsPyxb=None
#print ('fin X_MCSIMP', self.objPyxb, self.nom,self)
#
def buildObjPyxb(self,mc_list) :
if not self.cata.modeleMetier : return
- #print ('_______________________________________')
- #print ('X_MCCOMPO buildObjPyxb', self.nom, self, mc_list)
+ if CONTEXT.fromXML : return
+ print ('_______________________________________')
+ print ('X_MCCOMPO buildObjPyxb', self.nom, self, mc_list)
self.monNomClasseModeleMetier='T_'+self.nom
self.maClasseModeleMetier=getattr(self.cata.modeleMetier,self.monNomClasseModeleMetier)
listArg=[]
for objAccas in mc_list :
# on remonte les mots-clefs des blocs
#print (type (objAccas))
- if type (objAccas.objPyxb) == list :
- for fils in objAccas.objPyxb :
- listArg.append(fils.objPyxb)
+ if objAccas.nature == 'MCBLOC' :
+ # Attention --> mc_list et mc_liste
+ for fils in objAccas.mc_liste:
fils.perePyxb=self
+ listArg.append(fils.objPyxb)
print (fils.nom ,' a pour pere Pyxb', self, self.nom)
+ elif objAccas.nature == 'MCList' :
+ for fils in objAccas :
+ fils.perePyxb=self
+ listArg.append(fils.objPyxb)
else :
listArg.append(objAccas.objPyxb)
objAccas.perePyxb=self
- print (objAccas.nom ,' a pour pere Pyxb', self, self.nom)
+ #print (objAccas.nom ,' a pour pere Pyxb', self, self.nom)
#print ( objAccas.nom, ' a pour perepyxb ' , objAccas.perePyxb.nom)
self.objPyxb=self.maClasseModeleMetier(*listArg)
- #print ('Fin ', self.nom, self.objPyxb)
- #print ('_______________________________________')
+ print ('Fin ', self.nom, self.objPyxb)
+ print ('_______________________________________')
def deletePyxbObject(self):
print ('******************************************')
class X_MCBLOC (X_MCCOMPO):
# --------------------------
def buildObjPyxb(self,mc_list):
+ if CONTEXT.fromXML : return
if not self.cata.modeleMetier : return
+ # mise a none ? le bloc n a pas d existence en pyxb
self.perePyxb=None
- #print ('_______________________________________')
+ print ('_______________________________________')
print ('X_MCBLOC buildObjPyxb', self.nom, self, mc_list)
- import traceback
- #traceback.print_stack()
- # il faut attacher les objets au pere
- self.objPyxb=[]
+ # on rattache ses fils au bloc mais leur pere sera ensuite le MCCOMPO qui contient le bloc
+ # Pas sur d en avoir besoin
+ self.filsPyxb=[]
+ self.objPyxb=None
for objAccas in mc_list :
- self.objPyxb.append(objAccas)
- #print ('Fin ', self.nom, self.objPyxb)
- #print ('_______________________________________')
+ self.filsPyxb.append(objAccas.objPyxb)
+ print (self.filsPyxb)
+ print ('Fin ', self.nom, self.objPyxb)
+ print ('_______________________________________')
# --------------------------
def buildObjPyxb(self,mc_list):
- #print ('_______________________________________')
- #print ('X_MCLIST buildObjPyxb traite ds X_MCLIST', self.nom, self)
- if not self.cata.modeleMetier : return
- self.monNomClasseModeleMetier='T_'+self.nom
- self.maClasseModeleMetier=getattr(self.cata.modeleMetier,self.monNomClasseModeleMetier)
- listArg=[]
+ print ('_______________________________________')
+ print ('X_MCLIST buildObjPyxb traite ds X_MCLIST', self.nom, self)
+ print ('on ne fait rien')
+ print ('_______________________________________')
+ pass
+
+ #def build2ObjPyxb(self,mc_list):
+ # if CONTEXT.fromXML : return
+ # print ('_______________________________________')
+ # print ('X_MCLIST buildObjPyxb traite ds X_MCLIST', self.nom, self)
+ # if not self.cata.modeleMetier : return
+ # self.monNomClasseModeleMetier='T_'+self.nom
+ # self.maClasseModeleMetier=getattr(self.cata.modeleMetier,self.monNomClasseModeleMetier)
+ # listArg=[]
# MCList est une liste
- for nbDeSequence in self :
- for objAccas in nbDeSequence.mc_liste :
+ # for nbDeSequence in self :
+ # for objAccas in nbDeSequence.mc_liste :
#print (type (objAccas))
#print (objAccas.nom, objAccas.objPyxb, type(objAccas.objPyxb))
#print ( type (objAccas.objPyxb) == list )
if type (objAccas.objPyxb) == list :
#print ('ds le if')
- for fils in objAccas.objPyxb :
- listArg.append(fils.objPyxb)
- fils.perePyxb=self
- print (fils.nom ,' a pour pere Pyxb', self, self.nom)
- else :
- listArg.append(objAccas.objPyxb)
- objAccas.perePyxb=self
- print (objAccas.nom ,' a pour pere Pyxb', self, self.nom)
+ # for fils in objAccas.objPyxb :
+ # listArg.append(fils.objPyxb)
+ # fils.perePyxb=self
+ #print (fils.nom ,' a pour pere Pyxb', self, self.nom)
+ # else :
+ # listArg.append(objAccas.objPyxb)
+ # objAccas.perePyxb=self
+ #print (objAccas.nom ,' a pour pere Pyxb', self, self.nom)
#listArg.append(objAccas.objPyxb)
#objAccas.perePyxb=self
#print ( objAccas.nom, ' a pour perepyxb ' , objAccas.perePyxb.nom)
- #print ('X_MCLIST', self.nom, self, listArg)
- self.objPyxb=self.maClasseModeleMetier(*listArg)
- print ('fin buildObjPyxb traite ds X_MCLIST', self.nom, self, self.objPyxb)
- print ('_______________________________________')
+ # print ('X_MCLIST', self.nom, self, listArg)
+ # self.objPyxb=self.maClasseModeleMetier(*listArg)
+ # print ('fin buildObjPyxb traite ds X_MCLIST', self.nom, self, self.objPyxb)
+ # print ('_______________________________________')
class X_MCFACT (X_MCCOMPO):
# -------------------------
# on gere au niveau du MCLIST
-
- def buildObjPyxb(self,mc_list):
- #print ('_______________________________________')
- #print ('X_MCFACT buildObjPyxb debut et fin', self.nom, self)
- #print ('_______________________________________')
pass
+
+ #def build2ObjPyxb(self,mc_list):
+ # print ('_______________________________________')
+ # print ('X_MCFACT buildObjPyxb debut et fin', self.nom, self)
+ # print ('_______________________________________')
class X_JDC (X_MCCOMPO):
def __init__(self):
#print ('_______________________________________')
#print ('X_JDC buildObjPyxb', self)
- self.source=None
if not self.cata.modeleMetier : return
self.monNomClasseModeleMetier=self.code
self.maClasseModeleMetier=getattr(self.cata.modeleMetier,self.monNomClasseModeleMetier)
# OK seulement si sequence (choice ? ...)
print ('ds enregistreEtapePyxb', etape.nom)
if not self.cata.modeleMetier : return
- if self.source== "xml" : return
+ #if self.source== "xml" : return
self.objPyxb.append(etape.objPyxb)
etape.perePyxb = self
#self.toXml()
def toXml(self):
- if not self.cata.modeleMetier : return
+ #if not self.cata.modeleMetier : return
print(self.objPyxb.toDOM().toprettyxml())
print(self.objPyxb.toxml())
self.objPyxb=self.cata.modeleMetier.CreateFromDocument(self.procedure)
for objEtape in self.objPyxb.content():
print ('analyse de ', objEtape)
- dictArgs= (self.pyxbToDict(objEtape))
- #objEtape.monNomClasseAccas=objEtape.monNomClasseModeleMetier[2:-2]
- #maClasseAccas=getattr(self.cata,objEtape.monNomClasseAccas)
+ objEtape.dictArgs= (self.pyxbToDict(objEtape))
+ objEtape.monNomClasseAccas=objEtape._ExpandedName.localName()
+ print (objEtape.monNomClasseAccas, type(objEtape.monNomClasseAccas))
+ print (objEtape._ExpandedName, type(objEtape._ExpandedName))
+ objEtape.monNomClasseAccas=objEtape.monNomClasseAccas[2:]
+ #print (objEtape)
+ #print (objEtape.monNomClasseAccas)
+ maClasseAccas=getattr(self.cata,objEtape.monNomClasseAccas)
+
print ( '________________')
+ print (objEtape , type(objEtape))
+ #print (dir(objEtape))
print (objEtape.dictArgs)
print ( '________________')
- #objAccasEtape=maClasseAccas(**(objEtape.dictArgs))
+ objAccasEtape=maClasseAccas(**(objEtape.dictArgs))
self.source='None'
def pyxbToDict(self,objAAnalyser):
+ # la transformation de l objAAnalyser ne fonctionne pas pour tout
+ # faudrait - il travailler sur les types des objets ?
+ # c est a revoir -> fonction cast a prevoir ds les 2 sens
if objAAnalyser is None: return
dictArgs = {}
if isinstance(objAAnalyser, pyxb.binding.basis.simpleTypeDefinition):
- if isinstance(objAAnalyser, types.StringTypes): return pyxb.utils.utility.QuotedEscaped(objAAnalyser,)
+ if isinstance(objAAnalyser, pyxb.binding.basis.enumeration_mixin): return str(objAAnalyser)
+ if isinstance(objAAnalyser, types.StringTypes): return str(objAAnalyser,)
+ if isinstance(objAAnalyser, types.FloatType): return float(objAAnalyser,)
+ if isinstance(objAAnalyser, (types.IntType, types.LongType)): return int(objAAnalyser,)
if isinstance(objAAnalyser, (types.NoneType, types.BooleanType, types.FloatType, types.IntType, types.LongType)):
return repr(objAAnalyser)
+ #if isinstance(objAAnalyser, types.StringTypes): return pyxb.utils.utility.QuotedEscaped(objAAnalyser,)
#pour une enum getattr(value dans le type)
# return pythonLiteral(ReferenceFacet(facet=value, **kw))
return objAAnalyser
for expandedName, elementDeclaration in objAAnalyser._ElementMap.items():
objPyxbName = expandedName.localName()
objPyxbValue = getattr(objAAnalyser, objPyxbName)
- print (objPyxbName,objPyxbValue)
if objPyxbValue == None or objPyxbValue == [] : continue
if elementDeclaration.isPlural():
dictArgs[objPyxbName] = []
else:
dictArgs[objPyxbName] = self.pyxbToDict(getattr(objAAnalyser, objPyxbName))
print ("***********************************")
- print (objAAnalyser)
+ print ('pyxbToDict ', objAAnalyser)
print (dictArgs)
- for i in dictArgs.keys(): print (i, " ", dictArgs[i], " ", type(dictArgs[i]))
+ #for i in dictArgs.keys(): print (i, " ", dictArgs[i], " ", type(dictArgs[i]))
print ("***********************************")
return dictArgs