]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
correction partielle union de type
authorpascale.noyret <pascale.noyret@edf.fr>
Fri, 18 Sep 2020 10:16:28 +0000 (12:16 +0200)
committerpascale.noyret <pascale.noyret@edf.fr>
Fri, 18 Sep 2020 10:16:28 +0000 (12:16 +0200)
Efi2Xsd/AccasXsd.py

index c213061fa201ce38744fbc47afbd687a2a66be0c..9e62c82b3a63e9471818ef89c39bb95428cd2ca4 100755 (executable)
@@ -173,6 +173,8 @@ class X_compoFactoriseAmbigu(X_definition):
            self.mcXSD.append(mc)
            self.ordre_mc.append(mc.nom)
 
+       print (self.mcXSD)
+       print (self.ordre_mc)
        self.construitEntites(self.mcXSD)
        self.constructionArbrePossibles()
        lesPossibles=deepcopy(self.arbrePossibles)
@@ -292,6 +294,7 @@ class X_compoFactoriseAmbigu(X_definition):
    def factoriseEtCreeDump(self, laListe, indent=2 ,nomAppel=None):
        #print ('_______________________________ factoriseEtCreeDump')
        #print(self.nom, laListe, indent, nomAppel)
+       import traceback; traceback.print_stack()
        maListeRetour=[]
        aReduire={}
 
@@ -359,7 +362,7 @@ class X_compoFactoriseAmbigu(X_definition):
        
    def ajouteAuxTextes(self,nomMC,indent) :
        #print ('ajouteAuxTextes', nomMC, self.nom, self.entites)
-       #print ('ajouteAuxTextes', nomMC)
+       print ('ajouteAuxTextes', nomMC, self.entites[nomMC])
        #for i in self.entites.keys() : print (self.entites[i][0].nom)
        if (indent  > 3) : indent = indent - 3
        else : indent = 0
@@ -382,12 +385,13 @@ class X_compoFactoriseAmbigu(X_definition):
        
        # cette boucle ne fonctionne que pour des SIMP
        resteATraiter=copy(self.entites[nomMC])
-       #print ('________resteATraiter', resteATraiter)
+       print ('________resteATraiter', resteATraiter)
        listePourUnion=[]
        first=1
        while resteATraiter != [] :
           nvlListeATraiter=[]
           mc=resteATraiter[0]
+          #print (mc)
           listePourUnion.append(mc)
           for autre in resteATraiter[1:]:
              if not (mc.compare(autre)) :  nvlListeATraiter.append(autre)
@@ -416,16 +420,24 @@ class X_compoFactoriseAmbigu(X_definition):
               self.texteSimple   += mc.texteSimple
               self.mcDejaDumpe.add(mc.nomDuTypePyxb)
        else :
+       # PN --> faire tous les cas tests
            for e in listePourUnion :
+               #print ( 'dans le else ', e)
                e.dumpXsd(dansFactorisation=True,multiple=True,first=first)
                if first and (e.nomDuTypePyxb not in self.mcDejaDumpe) :
+                     #print ('first -------- ',e.texteSimple)
                   self.texteComplexeVenantDesFils += e.texteComplexe
                   self.mcDejaDumpe.add(e.nomDuTypePyxb)
                   texteSimpleUnion += '\t'*(indent)+e.texteSimple
                   first=first * 0
+               else :
+                  texteSimpleUnion += '\t'*(indent)+e.texteSimple
+                  #print ('non first -------- ',e.texteSimple)
+                 # print (e.texteSimple)
            texteSimpleUnion += finUnion
        texteSimpleUnion+=fermeSimpleType
        self.texteSimple   += texteSimpleUnion
+       #print ('self.texteSimple', self.texteSimple)