From c802486b7e20a514084dda6d839b9b2d17d39ec1 Mon Sep 17 00:00:00 2001 From: "pascale.noyret" Date: Tue, 7 May 2019 10:09:52 +0200 Subject: [PATCH] bug de projection et de consigne --- Efi2Xsd/AccasXsd.py | 9 +++--- Efi2Xsd/MCAccasXsd.py | 75 ++++++++++++++++++++++--------------------- 2 files changed, 44 insertions(+), 40 deletions(-) diff --git a/Efi2Xsd/AccasXsd.py b/Efi2Xsd/AccasXsd.py index e2ea8b00..a1a807f9 100755 --- a/Efi2Xsd/AccasXsd.py +++ b/Efi2Xsd/AccasXsd.py @@ -158,12 +158,13 @@ class X_FACT (X_definitionComposee): # --------------------------------- class X_OPER (X_definitionComposee): # --------------------------------- - def dumpXsd(self): - X_definitionComposee.dumpXsd(self) + def dumpXsd(self,inExtension=False): + X_definitionComposee.dumpXsd(self, inExtension) self.texteComplexe += finTypeCompoSeq self.texteComplexe += operAttributeName self.texteComplexe += attributeTypeForASSD self.texteComplexe += attributeTypeUtilisateurName.format(self.sd_prod.__name__) + if inExtension : self.texteComplexe += finExtension self.texteComplexe += finTypeCompo @@ -361,8 +362,8 @@ class X_JDC_CATA : else : dico[k][nom]=k+str(index) index=index+1 - import pprint - if (not PourTraduction) and (dico != {}) : pprint.pprint(dico) + #import pprint + #if (not PourTraduction) and (dico != {}) : pprint.pprint(dico) def dumpDifferenceModuleMetier(self): diff --git a/Efi2Xsd/MCAccasXsd.py b/Efi2Xsd/MCAccasXsd.py index 8a811b01..f0471ed9 100755 --- a/Efi2Xsd/MCAccasXsd.py +++ b/Efi2Xsd/MCAccasXsd.py @@ -25,31 +25,32 @@ class X_OBJECT: def delObjPyxb(self): if not self.cata.modeleMetier : return - print ('----------- delObjPyxb', self.nom) + if self.nom == 'Consigne' : return None + #print ('----------- delObjPyxb', self.nom) trouve = False listeArg=[] - print self.perePyxb.nom - print self.perePyxb.objPyxb.orderedContent() + #print self.perePyxb.nom + #print self.perePyxb.objPyxb.orderedContent() - print (dir(self.perePyxb.objPyxb)) + #print (dir(self.perePyxb.objPyxb)) for i in self.perePyxb.objPyxb.orderedContent(): if id(self.objPyxb) == id(i._Content__value) : trouve = True ;continue - print ('j ajoute', i._Content__value) + #print ('j ajoute', i._Content__value) listeArg.append(i._Content__value) if not trouve : print ('objet pas trouve') grandPere=self.perePyxb.perePyxb ancienObjPerePyxb=self.perePyxb.objPyxb - print (listeArg) + #print (listeArg) nvlObjPerePyxb=self.perePyxb.maClasseModeleMetier(*listeArg) - print (nvlObjPerePyxb) + #print (nvlObjPerePyxb) print (nvlObjPerePyxb.orderedContent()) self.perePyxb.objPyxb=nvlObjPerePyxb self.perePyxb.objPyxb.objAccas=ancienObjPerePyxb.objAccas - print (self.nom, ' a pour gp ', grandPere) + #print (self.nom, ' a pour gp ', grandPere) if grandPere : grandPere.reconstruitAvecNvlObj(ancienObjPerePyxb,nvlObjPerePyxb) - print ('----------- fin delObjPyxb', self.nom) + #print ('----------- fin delObjPyxb', self.nom) def addObjPyxbV0(self,indiceDansLeContenu): if not self.cata.modeleMetier : return @@ -89,8 +90,8 @@ class X_OBJECT: def addObjPyxb(self,indiceDansLeContenu): if not self.cata.modeleMetier : return - print ('**********************************************') - print ('_____________ addObjPyxb ds X_OBJECT', self.nom, indiceDansLeContenu) + #print ('**********************************************') + #print ('_____________ addObjPyxb ds X_OBJECT', self.nom, indiceDansLeContenu) # adherence Accas sur le parent parent=self.parent while (parent.isBLOC()): parent=parent.parent @@ -117,8 +118,8 @@ class X_OBJECT: # #print ('avec', listeArg) # if indiceDansLeContenu == len(self.perePyxb.objPyxb.orderedContent()): # listeArg.append(self.objPyxb) - print('self.cata.modeleMetier.Namespace : ',self.cata.modeleMetier.Namespace) - print('self.nom : ',self.nom) + #print('self.cata.modeleMetier.Namespace : ',self.cata.modeleMetier.Namespace) + #print('self.nom : ',self.nom) elt=pyxb.binding.basis.ElementContent(self.objPyxb, instance=self.perePyxb.objPyxb, tag=pyxb.namespace.ExpandedName(self.cata.modeleMetier.Namespace, self.nom)) #perePyxb est en fait l'objet ACAS père de notre objet PyxB (Il peut être éloigné à cause des BLOCS) self.perePyxb.objPyxb.orderedContent().insert(indiceDansLeContenu,elt) @@ -134,7 +135,7 @@ class X_OBJECT: def reconstruitAvecNvlObj(self, ancienObj,nvlObj): if not self.cata.modeleMetier : return - print ('reconstruitAvecNvlObj pour', self, self.nom, ancienObj,nvlObj) + #print ('reconstruitAvecNvlObj pour', self, self.nom, ancienObj,nvlObj) listeArg=[] for i in self.objPyxb.orderedContent(): if id(ancienObj) == id(i._Content__value) : listeArg.append(nvlObj) @@ -168,7 +169,7 @@ class X_MCSIMP(X_OBJECT): self.monNomClasseModeleMetier='T_'+self.nom if self.nom in list(self.cata.DicoNomTypeDifferentNomElt.keys()) : self.monNomClasseModeleMetier=self.cata.DicoNomTypeDifferentNomElt[self.nom][self.nomComplet()] - print (self.nom, self.monNomClasseModeleMetier) + #print (self.nom, self.monNomClasseModeleMetier) self.maClasseModeleMetier=getattr(self.cata.modeleMetier,self.monNomClasseModeleMetier) #print (self.maClasseModeleMetier) #print (self.valeur) @@ -184,10 +185,10 @@ class X_MCSIMP(X_OBJECT): def setValeurObjPyxb(self,newVal): if not self.cata.modeleMetier : return - print ('------------------------------------------------------------------') - print ('dans setValeurObjPyxb MCSIMP ', self.nom) + #print ('------------------------------------------------------------------') + #print ('dans setValeurObjPyxb MCSIMP ', self.nom) if inspect.isclass(newVal) and issubclass(newVal,A_ASSD) : newVal = newVal.nom - print (newVal) + #print (newVal) #print (self.nom , ' a pour pere', self.perePyxb, self.perePyxb.nom, self.perePyxb.objPyxb) @@ -219,7 +220,7 @@ class X_MCSIMP(X_OBJECT): def addObjPyxb(self, indiceDsLeContenu): if not self.cata.modeleMetier : return if self.nom == 'Consigne' : return None - print ('addObjPyxb : ajout de ', self.nom, 'en ', indiceDsLeContenu) + #print ('addObjPyxb : ajout de ', self.nom, 'en ', indiceDsLeContenu) # adherence Accas sur le parent # parent=self.parent @@ -270,9 +271,11 @@ class X_MCCOMPO(X_OBJECT) : self.exploreBLOC(objAccas) elif objAccas.nature == 'MCList' : for fils in objAccas : + #print (fils.nom) fils.perePyxb=self self.listArg.append(fils.objPyxb) else : + if objAccas.nom == 'Consigne' : continue self.listArg.append(objAccas.objPyxb) objAccas.perePyxb=self @@ -294,11 +297,11 @@ class X_MCCOMPO(X_OBJECT) : def delObjPyxb(self): if not self.cata.modeleMetier : return - print ('******************************************') - print ('je passe ds delObjPyxb pour ', self, self.nom) - print (self.perePyxb) - print (dir(self)) - print ('******************************************') + #print ('******************************************') + #print ('je passe ds delObjPyxb pour ', self, self.nom) + #print (self.perePyxb) + #print (dir(self)) + #print ('******************************************') def exploreBLOC(self,objAccas): laListeSsLesBlocs=[] @@ -312,7 +315,7 @@ class X_MCCOMPO(X_OBJECT) : # fils ou objFils objFils.perePyxb=self self.listArg.append(objFils.objPyxb) - print (fils.nom ,' est un MC ds un MCLIST et a pour pere Pyxb', self, self.nom) + #print (fils.nom ,' est un MC ds un MCLIST et a pour pere Pyxb', self, self.nom) else : if fils.nom == "Consigne" : continue self.listArg.append(fils.objPyxb) @@ -358,7 +361,7 @@ class X_MCLIST (X_MCCOMPO): def addObjPyxb(self,indiceDansLeContenu): #traceback.print_stack() - print ('X_MCLIST addObjPyxb ne fait rien', self.nom) + #print ('X_MCLIST addObjPyxb ne fait rien', self.nom) pass @@ -370,8 +373,8 @@ class X_MCFACT (X_MCCOMPO): def addObjPyxb(self,indiceDansLeContenu): if not self.cata.modeleMetier : return - print ('**********************************************') - print ('_____________ addObjPyxb ds X_MCLIST', self.nom, indiceDansLeContenu) + #print ('**********************************************') + #print ('_____________ addObjPyxb ds X_MCLIST', self.nom, indiceDansLeContenu) # adherence Accas sur le parent #perePyxb est en fait l'objet ACCAS père de notre objet PyxB (Il peut être éloigné à cause des BLOCS) parentNonBloc=self.parent @@ -426,8 +429,8 @@ class X_JDC (X_MCCOMPO): def enregistreEtapePyxb(self,etape,indice=0): # ne fonctionne pas : a reecrire avec les fonctions addObjPyxb et ReconstruitPerePyxb # ne contient pas indice pour l insant - print ( 'hhhhhhhhhhhhhhh enregistreEtapePyxb hhhhhhhhhhhhhhhhhhhhhhhhh') - print ('enregistre ds ',self, etape.nom, 'indice = ', indice) + #print ( 'hhhhhhhhhhhhhhh enregistreEtapePyxb hhhhhhhhhhhhhhhhhhhhhhhhh') + #print ('enregistre ds ',self, etape.nom, 'indice = ', indice) if not self.cata.modeleMetier : return self.objPyxb.append(etape.objPyxb) etape.perePyxb = self @@ -449,16 +452,16 @@ class X_JDC (X_MCCOMPO): def toXml(self,fichier=None): print ('ds to XML') if not self.cata.modeleMetier : return - print ('***************',self.objPyxb,'***************',) - print ('***************',self,'***************',) - print ('***************',self.objPyxb.orderedContent(),'***************',) - print(self.objPyxb.toDOM().toprettyxml()) + #print ('***************',self.objPyxb,'***************',) + #print ('***************',self,'***************',) + #print ('***************',self.objPyxb.orderedContent(),'***************',) + #print(self.objPyxb.toDOM().toprettyxml()) print(self.objPyxb.toxml()) return (self.objPyxb.toDOM().toprettyxml()) def analyseFromXML(self): - print ("je suis ds analyseFromXML -- > appel ds analyse de I_JDC.py") + #print ("je suis ds analyseFromXML -- > appel ds analyse de I_JDC.py") if self.procedure == "" : return self.objPyxb=self.cata.modeleMetier.CreateFromDocument(self.procedure) for objEtape in self.objPyxb.content(): @@ -471,7 +474,7 @@ class X_JDC (X_MCCOMPO): objAccasEtape=maClasseAccas(**(objEtape.dictArgs)) # attention objAccasEtape = None normal (cf buildSd) - print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh') + #print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh') #print (objEtape , type(objEtape)) #print (objEtape.dictPyxb) #print (maClasseAccas) -- 2.39.2