From 1865948a9d260137ff6088b13519ba38130962f5 Mon Sep 17 00:00:00 2001 From: "pascale.noyret" Date: Mon, 6 May 2019 16:00:48 +0200 Subject: [PATCH] Pour accepter Consigne en XSD et pour ajout nomXML dans le catalogue --- Efi2Xsd/AccasXsd.py | 12 ++++++++---- Efi2Xsd/MCAccasXsd.py | 4 ++++ Efi2Xsd/balises.py | 3 +-- InterfaceQT4/readercata.py | 1 - Noyau/N_SIMP.py | 4 +++- 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/Efi2Xsd/AccasXsd.py b/Efi2Xsd/AccasXsd.py index 9be8b2a5..e2ea8b00 100755 --- a/Efi2Xsd/AccasXsd.py +++ b/Efi2Xsd/AccasXsd.py @@ -50,6 +50,7 @@ class X_definition: self.aCreer = True cata = CONTEXT.getCurrentCata() nom='T_'+self.nom + if (hasattr (self, 'nomXML')) and self.nomXML != None : nom='T_'+self.nomXML if not (nom in cata.dictTypesXSD.keys()) : cata.dictTypesXSD[nom] = [self,] return nom @@ -64,6 +65,7 @@ class X_definition: self.aCreer = True cata.dictTypesXSD[nom].append(self) nomAlter='T_'+self.nom+'_'+str(indice) + if (hasattr (self, 'nomXML')) and self.nomXML != None : nomAlter='T_'+self.nomXML+'_'+str(indice) return nomAlter # def existeDeja(self,nom): @@ -229,18 +231,20 @@ class X_SIMP (X_definition): else : minOccurs = 1 # le defaut est dans l elt Name -> tester la coherence d existence avec Accas # regles Accas + if (hasattr (self, 'nomXML')) and self.nomXML != None : nomUtil=self.nomXML + else : nomUtil = self.nom if self.defaut : if self.max > 1 or self.max == '**' or self.max == float('inf') : # a revoir pour les tuples avec defaut txtDefaut="" for val in self.defaut : txtDefaut+=str(val) +" " - self.texteElt = eltWithDefautDsSequence.format(self.nom,self.code,self.nomDuTypePyxb,minOccurs,1,txtDefaut) + self.texteElt = eltWithDefautDsSequence.format(nomUtil,self.code,self.nomDuTypePyxb,minOccurs,1,txtDefaut) else : if str(self.defaut) == 'True' : txtDefaut = 'true' else : txtDefaut = str(self.defaut) - self.texteElt = eltWithDefautDsSequence.format(self.nom,self.code,self.nomDuTypePyxb,minOccurs,1,txtDefaut) + self.texteElt = eltWithDefautDsSequence.format(nomUtil,self.code,self.nomDuTypePyxb,minOccurs,1,txtDefaut) - else : self.texteElt = eltDsSequence.format(self.nom,self.code,self.nomDuTypePyxb,minOccurs,1) + else : self.texteElt = eltDsSequence.format(nomUtil,self.code,self.nomDuTypePyxb,minOccurs,1) # self.aCreer est mis a jour ds definitNomDuTypePyxb if not self.aCreer : return @@ -339,7 +343,7 @@ class X_JDC_CATA : self.texteCata += finTypeCata self.texteElt = eltCata.format(self.code,self.code, self.nomDuTypePyxb) - self.texteXSD = texteDebut.format(self.code,self.code,self.code) + self.texteXSD = texteDebut.format(self.code,self.code,self.code,self.code) #self.texteXSD += textDeclaration self.texteXSD += self.texteSimple self.texteXSD += self.texteCata diff --git a/Efi2Xsd/MCAccasXsd.py b/Efi2Xsd/MCAccasXsd.py index 68196c25..8a811b01 100755 --- a/Efi2Xsd/MCAccasXsd.py +++ b/Efi2Xsd/MCAccasXsd.py @@ -157,6 +157,7 @@ class X_MCSIMP(X_OBJECT): #print ('X_MCSIMP buildObjPyxb', self.nom, self,self.valeur) #print ('objPyxbDeConstruction', self.objPyxbDeConstruction) #if self.objPyxbDeConstruction == None : print (self.nom, ' pas de pyxb') + if self.nom == 'Consigne' : return None if self.objPyxbDeConstruction != None : self.objPyxb = self.objPyxbDeConstruction self.objPyxb.objAccas=self @@ -217,6 +218,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) # adherence Accas sur le parent @@ -312,6 +314,7 @@ class X_MCCOMPO(X_OBJECT) : self.listArg.append(objFils.objPyxb) 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) fils.perePyxb=self #print (fils.nom ,' est un SIMP a pour pere Pyxb', self, self.nom) @@ -444,6 +447,7 @@ class X_JDC (X_MCCOMPO): # print(e.details()) def toXml(self,fichier=None): + print ('ds to XML') if not self.cata.modeleMetier : return print ('***************',self.objPyxb,'***************',) print ('***************',self,'***************',) diff --git a/Efi2Xsd/balises.py b/Efi2Xsd/balises.py index 6209540f..1fd572f4 100644 --- a/Efi2Xsd/balises.py +++ b/Efi2Xsd/balises.py @@ -1,5 +1,4 @@ -#texteDebut='\n\n' -texteDebut='\n\n' +texteDebut='\n\n' texteFin='' texteDebutCataSpecifique='\n' diff --git a/InterfaceQT4/readercata.py b/InterfaceQT4/readercata.py index e104a64d..37c43124 100644 --- a/InterfaceQT4/readercata.py +++ b/InterfaceQT4/readercata.py @@ -278,7 +278,6 @@ class ReaderCata (ReaderCataCommun): if 'cata_Vimmp' in list(sys.modules.keys()) : del sys.modules['cata_Vimmp'] - print (list(sys.modules.keys())) if nom_cata in list(sys.modules.keys()) : del sys.modules[nom_cata] diff --git a/Noyau/N_SIMP.py b/Noyau/N_SIMP.py index a13b4178..a9bcfc6f 100644 --- a/Noyau/N_SIMP.py +++ b/Noyau/N_SIMP.py @@ -49,7 +49,7 @@ class SIMP(N_ENTITE.ENTITE): def __init__(self, typ,ang="", fr="", statut='f', into=None, intoSug = None,siValide = None, defaut=None, min=1, max=1, homo=1, position='local', - val_min=float('-inf'), val_max=float('inf'), docu="", validators=None, + val_min=float('-inf'), val_max=float('inf'), docu="", validators=None, nomXML=None, sug=None,fenetreIhm=None, attribut=False, creeDesObjetsDeType = None): """ Un mot-clé simple est caractérisé par les attributs suivants : @@ -71,6 +71,7 @@ class SIMP(N_ENTITE.ENTITE): - fenetreIhm : si widget particulier - attribut : si projection XSD sur attribut - creeDesObjetsDeType : type des UserASSD si siValide en cree + - nomXML : se projette en XSD avec un autre nom pour accepter les tirets """ #print (self) #import traceback @@ -110,6 +111,7 @@ class SIMP(N_ENTITE.ENTITE): self.fenetreIhm=fenetreIhm self.attribut = attribut self.creeDesObjetsDeType = creeDesObjetsDeType + self.nomXML = nomXML def verifCata(self): """ -- 2.39.2