def buildObjPyxb(self, debug=False) :
if not self.cata or not self.cata.modeleMetier : return
+ #if self.nom == 'initial_rod_positions' : debug = True
if self.nom == 'Consigne' : return None
if debug : print (self.definition.nomComplet())
if debug : print ('_______________ X_MCSIMP buildObjPyxb', self.nom, self,self.valeur)
self.maClasseModeleMetier=getattr(self.cata.modeleMetier,self.monNomClasseModeleMetier)
if self.waitMatrice() :
- #PNPN : Attention rien ne relie la listeObjPyxb et l objAccas
- # 21/04 je ne sais pas si cela posera pb
- debug = 1
- self.objPyxb = []
+ #PNPN : Attention rien ne relie les objets listeObjPyxb a un objAccas
+ # 27/04 je ne sais pas si cela posera pb
+ self.listeLines = []
self.maClasseModeleMetier=getattr(self.cata.modeleMetier,self.monNomClasseModeleMetier)
+ self.maClasseModeleMetier_line=getattr(self.cata.modeleMetier,self.monNomClasseModeleMetier+'_line')
if debug : print ('Matrice de type ', self.maClasseModeleMetier)
- #for v in self.valeur: self.objPyxb.append(self.maClasseModeleMetier(v))
for v in self.valeur:
- l=self.maClasseModeleMetier(v)
- l.objAccas=self
- self.objPyxb.append(l)
+ l=self.maClasseModeleMetier_line(v)
+ self.listeLines.append(l)
+ self.objPyxb=self.maClasseModeleMetier(*self.listeLines)
+ #if self.objPyxb !=None : self.objPyxb.objAccas=self
if debug : print ('Matrice ', self.nom, self.objPyxb)
return
+ if self.waitTuple() :
+ self.objPyxb = []
+ self.maClasseModeleMetier=getattr(self.cata.modeleMetier,self.monNomClasseModeleMetier)
+ # if faut traiter l autre cas
+ # et optimiser
+ if self.definition.max !=1 :
+ for v in self.valeur :
+ if debug : print ('je traite ', v)
+ listeConstruction=[]
+ for i in range(self.combienEltDsTuple()):
+ num=i+1
+ maClasseElt=getattr(self.cata.modeleMetier,self.monNomClasseModeleMetier+'_n'+str(num))
+ listeConstruction.append(maClasseElt(v[i]))
+ self.objPyxb.append(self.maClasseModeleMetier(*listeConstruction))
+ if debug : print (self.objPyxb)
+ return
+
if issubclass(self.maClasseModeleMetier, self.cata.modeleMetier.pyxb.binding.basis.STD_union):
if debug : print ('needFactory')
self.needFactory=True
def buildObjPyxb(self,mc_list, debug=False) :
if not self.cata or not self.cata.modeleMetier : return
- debug=1
+ #if self.nom == 'Scenario_data' : debug=1
if debug : print ('X_MCCOMPO', self.nom)
+ deepDebug=False
self.listArg=[]
self.dicoArg={}
for objAccas in mc_list :
self.listArg.append(objAccas[0].objPyxb)
else :
if objAccas.nom == 'Consigne' : continue
- if 0 : #objAccas.waitMatrice() :
- for o in objAccas.objPyxb : self.listArg.append(o)
- else: self.listArg.append(objAccas.objPyxb)
+ print ('______________', objAccas.nom, objAccas.objPyxb)
+ self.listArg.append(objAccas.objPyxb)
self.dicoArg[objAccas.nom]=objAccas.objPyxb
objAccas.perePyxb=self
if debug : print('X_MCCOMPO -- listArg ---',self.nom,self.listArg)
if debug : print('X_MCCOMPO -- dicoArg ---',self.nom,self.dicoArg)
+
self.monNomClasseModeleMetier='T_'+self.nom
if self.monNomClasseModeleMetier in list(self.cata.DicoNomTypeDifferentNomElt.keys()) :
self.nomComplet=self.definition.nomComplet()
if debug : print (self.maClasseModeleMetier)
# self.objPyxb=self.maClasseModeleMetier(*self.listArg)
self.objPyxb=self.maClasseModeleMetier(**self.dicoArg)
- if debug :
+ if deepDebug :
print ('debut de __________ new ordered content')
for o in self.objPyxb.orderedContent():
print ('o', o)
for i in range(len(self.listArg)):
self.objPyxb.orderedContent()[i]=newOrderedContent[i]
- if debug : print ('X_MCCOMPO', self, self.nom, self.objPyxb,self.listArg,newOrderedContent,self.objPyxb.orderedContent())
+ debug=True
+ if debug : print ('X_MCCOMPO', self, self.nom, self.objPyxb)
+ if debug : print ('X_MCCOMPO', self.listArg)
+ if debug : print ('X_MCCOMPO', newOrderedContent)
+ if debug : print ( 'X_MCCOMPO',self.objPyxb.orderedContent())
if debug : print ('fin buildObjetPyxb _______________________________________')
# assert(self.objPyxb.validateBinding())