From 471e3183607d115a41da116470a1cb5c4ccb7cdc Mon Sep 17 00:00:00 2001 From: "pascale.noyret" Date: Tue, 22 Sep 2020 15:03:18 +0200 Subject: [PATCH] pour partage --- Efi2Xsd/MCAccasXML.py | 45 ++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/Efi2Xsd/MCAccasXML.py b/Efi2Xsd/MCAccasXML.py index 9921c1d0..22ea189e 100755 --- a/Efi2Xsd/MCAccasXML.py +++ b/Efi2Xsd/MCAccasXML.py @@ -28,7 +28,7 @@ class X_OBJECT: if self.nom == 'Consigne' : return None trouve = False - if debug : print ('in delObjPyxb') + if debug : print ('--------------- in delObjPyxb pour ' , self.nom) if debug : print (self.perePyxb.objPyxb.orderedContent()) if debug : print (list(map(lambda o:o.value, self.perePyxb.objPyxb.orderedContent()))) @@ -110,10 +110,10 @@ class X_OBJECT: class X_MCSIMP(X_OBJECT): # ----------------------- - def buildObjPyxb(self, debug=False) : + def buildObjPyxb(self, debug=True) : if not self.cata or not self.cata.modeleMetier : return if self.nom == 'Consigne' : return None - if debug : print ('X_MCSIMP buildObjPyxb', self.nom, self,self.valeur) + if debug : print ('_______________ X_MCSIMP buildObjPyxb', self.nom, self,self.valeur) if debug and self.objPyxbDeConstruction == None : print (self.nom, ' pas de pyxb') elif debug : print ('objPyxbDeConstruction', self.objPyxbDeConstruction) @@ -125,6 +125,7 @@ class X_MCSIMP(X_OBJECT): if issubclass(self.maClasseModeleMetier, self.cata.modeleMetier.pyxb.binding.basis.STD_union): self.needFactory=True self.maClasseModeleMetierFactory=getattr(self.maClasseModeleMetier,'Factory') + print ('self.maClasseModeleMetierFactory', self.maClasseModeleMetierFactory) else : self.needFactory=False else : self.monNomClasseModeleMetier='T_'+self.nom @@ -145,10 +146,9 @@ class X_MCSIMP(X_OBJECT): else : self.objPyxb=self.maClasseModeleMetier(_validate_constraints=False) - # c est la que le bat blesse #if self.objPyxb !=None : self.objPyxb.objAccas=self #if debug : print ('X_MCSIMP', self.nom, self.objPyxb, ) - if debug : print ('fin X_MCSIMP', self.objPyxb, self.nom, self, self.maClasseModeleMetier,self.valeur) + if debug : print ('__________ fin X_MCSIMP', self.objPyxb, self.nom, self, self.maClasseModeleMetier,self.valeur) def setValeurObjPyxb(self,newVal, debug=True): @@ -157,6 +157,7 @@ class X_MCSIMP(X_OBJECT): if debug : print (' self.perePyxb = ', self.perePyxb.nom) if inspect.isclass(newVal) and issubclass(newVal,A_ASSD) : newVal = newVal.nom if debug : print (self.nom , ' a pour pere', self.perePyxb, self.perePyxb.nom, self.perePyxb.objPyxb) + if debug : print ('debut du setValeurObjPyxb pour ', self.nom, self.perePyxb.objPyxb.orderedContent()) #if newVal != None : nvlObj=self.maClasseModeleMetier(newVal) if newVal != None : @@ -166,12 +167,14 @@ class X_MCSIMP(X_OBJECT): if self.needFactory : nvlObj =None else : nvlObj=self.maClasseModeleMetier(_validate_constraints=False) self.val=newVal + if debug : print ('fin du setValeurObjPyxb pour ', self.nom, self.perePyxb.objPyxb.orderedContent()) setattr(self.perePyxb.objPyxb,self.nom,nvlObj) trouve=False indice=0 for i in self.perePyxb.objPyxb.orderedContent(): - if isinstance(i._Content__value, self.maClasseModeleMetier) : + if i.elementDeclaration.id() == self.nom: + #if isinstance(i._Content__value, self.maClasseModeleMetier) : self.perePyxb.objPyxb.orderedContent()[indice]=self.perePyxb.objPyxb.orderedContent()[-1] del(self.perePyxb.objPyxb.orderedContent()[-1]) trouve=True @@ -188,9 +191,9 @@ class X_MCSIMP(X_OBJECT): class X_MCCOMPO(X_OBJECT) : # ------------------------- # - def buildObjPyxb(self,mc_list, debug=True) : + def buildObjPyxb(self,mc_list, debug=False) : if not self.cata or not self.cata.modeleMetier : return - print ('X_MCCOMPO', self.nom) + if debug : print ('X_MCCOMPO', self.nom) self.listArg=[] self.dicoArg={} for objAccas in mc_list : @@ -239,6 +242,7 @@ class X_MCCOMPO(X_OBJECT) : max=obj[0].definition.max else : max = 1 if max == 1 : + print ('kkkkkkkkkkkkkkkkkkkkk',obj, type(obj)) if not(issubclass(type(obj), pyxb.binding.basis.enumeration_mixin) ): newOrderedContent.append(self.objPyxb.orderedContent()[list(map(lambda o:id(o.value), self.objPyxb.orderedContent())).index(id(obj))] ) else : @@ -394,7 +398,7 @@ class X_JDC (X_MCCOMPO): return (self.objPyxb.toDOM().toprettyxml()) - def analyseFromXML(self): + def analyseFromXML(self,debug=False): print ("je suis ds analyseFromXML -- > appel ds analyseXML de I_JDC.py") print (self.procedure) if self.procedure == "" : return @@ -409,21 +413,18 @@ class X_JDC (X_MCCOMPO): objEtape.dictArgs['dicoPyxbDeConstruction']=objEtape.dictPyxb print ('dicoPyxbDeConstruction', objEtape.dictArgs['dicoPyxbDeConstruction']) maClasseAccas=getattr(self.cata,objEtape.monNomClasseAccas) - print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh') - print (maClasseAccas) - print (objEtape , type(objEtape)) - print (objEtape.dictPyxb) + if debug : print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh') + if debug : print (maClasseAccas) + if debug : print (objEtape , type(objEtape)) + if debug : print (objEtape.dictPyxb) - print (objEtape.monNomClasseAccas, type(objEtape.monNomClasseAccas)) - print (objEtape._ExpandedName, type(objEtape._ExpandedName)) - print ('dictArgs',objEtape.dictArgs) - print ('dictPyxb',objEtape.dictPyxb) + if debug : print (objEtape.monNomClasseAccas, type(objEtape.monNomClasseAccas)) + if debug : print (objEtape._ExpandedName, type(objEtape._ExpandedName)) + if debug : print ('dictArgs',objEtape.dictArgs) + if debug : print ('dictPyxb',objEtape.dictPyxb) objAccasEtape=maClasseAccas(**(objEtape.dictArgs)) - print (objAccasEtape) - print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh') - print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh') - print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh') - print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh') + if debug : print (objAccasEtape) + if debug : print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh') def pyxbToDict(self,objAAnalyser): -- 2.39.2