From: pascale.noyret Date: Tue, 27 Apr 2021 09:04:37 +0000 (+0200) Subject: aout des Tuples X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=164efed5308a5fc5a0bbb9b2e379348556fde8d6;p=tools%2Feficas.git aout des Tuples --- diff --git a/Efi2Xsd/MCAccasXML.py b/Efi2Xsd/MCAccasXML.py index 55694623..548c24d4 100755 --- a/Efi2Xsd/MCAccasXML.py +++ b/Efi2Xsd/MCAccasXML.py @@ -131,6 +131,7 @@ class X_MCSIMP(X_OBJECT): 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) @@ -156,19 +157,36 @@ class X_MCSIMP(X_OBJECT): 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 @@ -235,8 +253,9 @@ class X_MCCOMPO(X_OBJECT) : 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 : @@ -255,15 +274,15 @@ class X_MCCOMPO(X_OBJECT) : 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() @@ -281,7 +300,7 @@ class X_MCCOMPO(X_OBJECT) : 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) @@ -326,7 +345,11 @@ class X_MCCOMPO(X_OBJECT) : 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())