From: pascale.noyret Date: Fri, 25 Sep 2020 16:55:59 +0000 (+0200) Subject: essai X-Git-Tag: MDM_V0~13^2 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=2fadf14a8c250bf04b883164e70abb672df81b9c;p=tools%2Feficas.git essai --- diff --git a/Efi2Xsd/MCAccasXML.py b/Efi2Xsd/MCAccasXML.py index d9dd432b..fbd0f14c 100755 --- a/Efi2Xsd/MCAccasXML.py +++ b/Efi2Xsd/MCAccasXML.py @@ -113,6 +113,7 @@ class X_MCSIMP(X_OBJECT): def buildObjPyxb(self, debug=True) : if not self.cata or not self.cata.modeleMetier : return if self.nom == 'Consigne' : return None + #print (self.definition.nomComplet()) 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) @@ -128,13 +129,10 @@ class X_MCSIMP(X_OBJECT): print ('self.maClasseModeleMetierFactory', self.maClasseModeleMetierFactory) else : self.needFactory=False else : - print ('_____________________uuuuuuuuuuuuuuuuuuuu') - print (self.cata.DicoNomTypeDifferentNomElt) - print ('_____________________uuuuuuuuuuuuuuuuuuuu') - self.monNomClasseModeleMetier='T_'+self.nom - if self.monNomClasseModeleMetier=='T_termeLE' : monNomClasseModeleMetier= 'T_termeLE_1' - if self.nom in list(self.cata.DicoNomTypeDifferentNomElt.keys()) : - self.monNomClasseModeleMetier=self.cata.DicoNomTypeDifferentNomElt[self.nom][self.nomComplet()] + self.monNomClasseModeleMetier ='T_'+self.nom + if self.monNomClasseModeleMetier in list(self.cata.DicoNomTypeDifferentNomElt.keys()) : + self.monNomClasseModeleMetier=self.cata.DicoNomTypeDifferentNomElt[self.monNomClasseModeleMetier][self.definition.nomComplet()] + if debug : print ('Pour', self.nom, ' le type est ', self.monNomClasseModeleMetier) self.maClasseModeleMetier=getattr(self.cata.modeleMetier,self.monNomClasseModeleMetier) if issubclass(self.maClasseModeleMetier, self.cata.modeleMetier.pyxb.binding.basis.STD_union): if debug : print ('needFactory') @@ -145,8 +143,6 @@ class X_MCSIMP(X_OBJECT): if self.valeur != None : if self.needFactory : if self.definition.max > 1 : - print (self.monNomClasseModeleMetier) - exit() self.objPyxb=self.maClasseModeleMetier(self.valeur) else : self.objPyxb=self.maClasseModeleMetierFactory(self.valeur) else : self.objPyxb=self.maClasseModeleMetier(self.valeur) @@ -156,11 +152,11 @@ class X_MCSIMP(X_OBJECT): #if self.objPyxb !=None : self.objPyxb.objAccas=self - #if debug : print ('X_MCSIMP', self.nom, self.objPyxb, ) + if debug : print ('X_MCSIMP', self.nom, self.objPyxb, ) if debug : print ('__________ fin X_MCSIMP', self.objPyxb, self.nom, self, self.maClasseModeleMetier,self.valeur) - def setValeurObjPyxb(self,newVal, debug=True): + def setValeurObjPyxb(self,newVal, debug=False): if not self.cata or not self.cata.modeleMetier : return if debug : print (' ___________________________ dans setValeurObjPyxb MCSIMP ', self.nom, newVal) if debug : print (' self.perePyxb = ', self.perePyxb.nom) @@ -240,12 +236,24 @@ class X_MCCOMPO(X_OBJECT) : if debug : print ('je passe dans le if pour ', self.nom, self.objPyxb, self) if debug : print ('X_MCCOMPO', self, self.nom, self.objPyxb,self.listArg,self.objPyxb.orderedContent()) else : - if debug : print (self.nom) if debug : print (self.listArg) # self.objPyxb=self.maClasseModeleMetier(*self.listArg) self.objPyxb=self.maClasseModeleMetier(**self.dicoArg) + if debug : + for o in self.objPyxb.orderedContent(): + print (o) + print (o.value) + print (type(o.value)) + print (id(o.value)) + print (id(o.value)) + print ('______________________') newOrderedContent=[] for obj in self.listArg: + if debug : + print (obj) + print (type(obj)) + print (id(obj)) + # on teste le caractere pluriel if (hasattr(obj, 'nature')) : # attention on a un object Accas et non un pyxb car les MCList n ont pas de objPyxb max=obj[0].definition.max @@ -270,7 +278,7 @@ class X_MCCOMPO(X_OBJECT) : def exploreBLOC(self,objAccas): - print (' ds exploreBLOC', objAccas .nom) + #print (' ds exploreBLOC', objAccas .nom) laListeSsLesBlocs=[] for fils in objAccas.mcListe: if fils.nature == 'MCBLOC' : @@ -295,6 +303,7 @@ class X_MCCOMPO(X_OBJECT) : self.dicoArg[fils.nom]=fils.objPyxb fils.perePyxb=self print (fils.nom ,' est un SIMP a pour pere Pyxb', self, self.nom) + #print ('fin ds exploreBLOC', objAccas .nom) diff --git a/Efi2Xsd/balisesXSD.py b/Efi2Xsd/balisesXSD.py index ffff4879..d6bd7096 100644 --- a/Efi2Xsd/balisesXSD.py +++ b/Efi2Xsd/balisesXSD.py @@ -3,6 +3,8 @@ texteDebutNiveau2='\n\n\n' texteFin='' +texteAnnotation= '\t\n\t\t\n\t\t{}\n\t\t\n\t\t\n\t\n\t\n' + # SIMP debutSimpleType = '\t\n' debutSimpleTypeSsNom = '\t\n' diff --git a/InterfaceQT4/readercata.py b/InterfaceQT4/readercata.py index 2d6a8718..cf267055 100644 --- a/InterfaceQT4/readercata.py +++ b/InterfaceQT4/readercata.py @@ -217,6 +217,7 @@ class ReaderCata (ReaderCataCommun): self.choisitCata() modeleMetier = None + dicoEltDif = {} if not (self.appliEficas.genereXSD) : if (self.appliEficas.maConfiguration.withXSD or self.appliEficas.withXSD) : try : @@ -231,12 +232,22 @@ class ReaderCata (ReaderCataCommun): pathCata = os.path.dirname(self.fichierCata)+'/raw/'+nomCataXsd+'.py' import imp modeleMetier= imp.load_source(nomCataXsd,pathCata) + #print ('nomCataXsd , pathCata ',nomCataXsd,pathCata) + texte=modeleMetier.PNEFdico.__doc__ + if texte != None and texte != "": + l={} + texte='dicoEltDif = '+ texte + exec (texte, globals(),l) + dicoEltDif=l['dicoEltDif'] + except : if self.appliEficas.ssIhm == False :print ('______________ poum import cata_genere ') self.QWParent.informe('XSD driver', 'unable to load xsd driver',critique=False) modeleMetier = None self.cata = self.importCata(self.fichierCata) + #self.cata.DicoNomTypeDifferentNomElt={'T_monObjet': {'_monObjet_FInt_MonProc': 'T_monObjet', '_monObjet_FText_MonProc': 'T_monObjet_2', '_monObjet_FFloat_MonProc': 'T_monObjet_1'}} + self.cata.DicoNomTypeDifferentNomElt=dicoEltDif if hasattr(self.cata, 'implement'): self.cata.JdC.implement = self.cata.implement else : self.cata.JdC.implement = "" if hasattr(self.cata, 'importedBy'): self.cata.JdC.importedBy = self.cata.importedBy