]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
code nettoye de l index qui ne sert pas
authorpascale.noyret <pascale.noyret@edf.fr>
Tue, 15 Sep 2020 08:09:03 +0000 (10:09 +0200)
committerpascale.noyret <pascale.noyret@edf.fr>
Tue, 15 Sep 2020 08:09:03 +0000 (10:09 +0200)
Efi2Xsd/AccasXsd.py

index eff1de4d0402c5b40d99a6bbb5a03b9558f0f25f..c213061fa201ce38744fbc47afbd687a2a66be0c 100755 (executable)
@@ -169,13 +169,10 @@ class X_compoFactoriseAmbigu(X_definition):
        self.mcXSD=[]
        self.ordre_mc=[]
        self.mcDejaDumpe=set()
-       #print (listeDeCreation)
-       for (mc, index) in listeDeCreation : 
+       for mc in listeDeCreation : 
            self.mcXSD.append(mc)
            self.ordre_mc.append(mc.nom)
-       #self.mcXSD=list(deepcopy(self.ordre_mc))
-       #for i in self.entites : print (i,self.entites[i])
-       #print ('creation de X_compoFactoriseAmbigu', self.nom, self.mcXSD)
+
        self.construitEntites(self.mcXSD)
        self.constructionArbrePossibles()
        lesPossibles=deepcopy(self.arbrePossibles)
@@ -516,43 +513,34 @@ class X_definitionComposee (X_definition):
            mc=self.entites[nomMC]
            self.mcXSD.append(mc)
            mc.prepareDumpXSD()
-       self.chercheListesDeBlocsNonDisjointsAvecIndex()
-       #print (self.listeDesBlocsNonDisjointsAvecIndex)
-       for l in list(self.listeDesBlocsNonDisjointsAvecIndex) :
-           #print ('je traite ', l, self.besoinDeFactoriserTrivial(l))
-           if not(self.besoinDeFactoriserTrivial(l)) : self.listeDesBlocsNonDisjointsAvecIndex.remove(l)
+       self.chercheListesDeBlocsNonDisjoints()
+       for l in list(self.listeDesBlocsNonDisjoints) :
+           if not(self.besoinDeFactoriserTrivial(l)) : self.listeDesBlocsNonDisjoints.remove(l)
            else : self.factorise(l)
-              #print (self.aUnPremierCommunDansLesPossibles(l))
-           #if self.aUnPremierCommunDansLesPossibles(l) :
-           #     print ('aUnCommunDansLesPossibles --> Factorisation')
-           #else : self.listeDesBlocsNonDisjointsAvecIndex.remove(l)
-           # trouver un cas test
-
-   def chercheListesDeBlocsNonDisjointsAvecIndex(self):
-       self.listeDesBlocsNonDisjointsAvecIndex=[]
-       index=-1
+
+   def chercheListesDeBlocsNonDisjoints(self):
+       self.listeDesBlocsNonDisjoints=[]
        for nomChild in self.ordre_mc :
          child=self.entites[nomChild]
-         index=index+1
          if child.label != 'BLOC' : continue
-         if self.listeDesBlocsNonDisjointsAvecIndex == [] :
-             self.listeDesBlocsNonDisjointsAvecIndex.append([(child,index),])
+         if self.listeDesBlocsNonDisjoints == [] :
+             self.listeDesBlocsNonDisjoints.append([child])
              continue
          vraimentIndependant=True
-         for liste in list(self.listeDesBlocsNonDisjointsAvecIndex):
+         for liste in list(self.listeDesBlocsNonDisjoints):
              independant=True
-             for (bloc,indInListe) in liste :
-                 if bloc.isDisjoint(child) : continue
+             for bloc in liste :
+                 if bloc.isDisjoint(child)   : continue
                  if bloc.estLeMemeQue(child) : continue
                  independant=False
                  vraimentIndependant=False
              if not (independant) :
-                 liste.append((child, index))
+                 liste.append(child)
          if vraimentIndependant:
-             self.listeDesBlocsNonDisjointsAvecIndex.append([(child,index),])
+             self.listeDesBlocsNonDisjoints.append([child])
        # on nettoye la liste des blocs tous seuls
-       for l in list(self.listeDesBlocsNonDisjointsAvecIndex) :
-           if len(l) ==1 : self.listeDesBlocsNonDisjointsAvecIndex.remove(l)
+       for l in list(self.listeDesBlocsNonDisjoints) :
+           if len(l) ==1 : self.listeDesBlocsNonDisjoints.remove(l)
 
    def estLeMemeQue(self,autreMC):
        if hasattr(self,'nomXML') and hasattr(autreMC,'nomXML') and self.nomXML==autreMC.nomXML and self.nomXML != None: return True
@@ -574,38 +562,32 @@ class X_definitionComposee (X_definition):
    def besoinDeFactoriserTrivial(self,laListe):
        besoin=False
        lesPremiers=set()
-       for mcBloc,indice in laListe  :
+       for mcBloc in laListe  :
           mc=mcBloc.mcXSD[0]
-          if mc.label == 'BLOC': return True
-          if not(mc.statut=='o') : return True
-          if mc.nom in lesPremiers  : return True
+          if mc.label == 'BLOC'    : return True
+          if not(mc.statut=='o')   : return True
+          if mc.nom in lesPremiers : return True
           lesPremiers.add(mc.nom)
        return False
 
    def factorise(self,liste):
        self.listeConstruction=liste
-       #print ('liste-------',liste)
-       #print ( self.mcXSD )
-       #indexDebut=liste[0][1]
-       nomDebut=liste[0][0].nom
-       indexDebut=self.mcXSD.index(liste[0][0])
-       #indexFin=liste[-1][1]+1
-       nomFin=liste[-1][0].nom
-       indexFin=self.mcXSD.index(liste[-1][0]) + 1
+       nomDebut=liste[0].nom
+       indexDebut=self.mcXSD.index(liste[0])
+       nomFin=liste[-1].nom
+       indexFin=self.mcXSD.index(liste[-1]) + 1
        nom=nomDebut+'_'+nomFin
        listeAFactoriser=[]
        for  i in range(indexDebut, indexFin) :
-          listeAFactoriser.append((self.mcXSD[i],i))
+          listeAFactoriser.append(self.mcXSD[i])
 
        newListe=self.mcXSD[0:indexDebut]
-       #print (newListe, newListe.__class__)
-       #print ('je factorise dans -->', self.nom)
+
        monEltFacteur=X_compoFactoriseAmbigu(nom,listeAFactoriser,self)
+
        newListe.append(monEltFacteur)
        newListe=newListe+self.mcXSD[indexFin:]
        self.mcXSD=newListe
-       #print (self.mcXSD)
-       #for i in self.mcXSD : print (i.nom)
 
    def construitTousLesFils(self):
        for nomChild in self.ordre_mc :