From: pascale.noyret Date: Tue, 15 Sep 2020 08:09:03 +0000 (+0200) Subject: code nettoye de l index qui ne sert pas X-Git-Tag: MDM_V0~26 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=c64c7acb83dc9818956a9cc559013f7999686ad2;p=tools%2Feficas.git code nettoye de l index qui ne sert pas --- diff --git a/Efi2Xsd/AccasXsd.py b/Efi2Xsd/AccasXsd.py index eff1de4d..c213061f 100755 --- a/Efi2Xsd/AccasXsd.py +++ b/Efi2Xsd/AccasXsd.py @@ -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 :