Salome HOME
pb d accent. on les enleve en français
[tools/eficas.git] / InterfaceQT4 / readercata.py
index 1f7b59109f327a86025235f0766581600b601bf7..b0f63f57c857ce5f0cff5fed46879666ee792977 100644 (file)
@@ -56,15 +56,13 @@ class READERCATA:
       self.code=self.QWParent.code
       self.ssCode=self.appliEficas.ssCode
       self.appliEficas.format_fichier='python'
-      if hasattr(self.appliEficas,'mode_nouv_commande'):
-        self.mode_nouv_commande=self.appliEficas.mode_nouv_commande
-      else :
-         self.mode_nouv_commande='alpha'
+      self.mode_nouv_commande=self.appliEficas.CONFIGURATION.mode_nouv_commande
       self.version_code=self.QWParent.version_code
       self.version_cata=None
       self.fic_cata=None
       self.OpenCata()
       self.cataitem=None
+      if self.code=="TELEMAC": self.cree_dico_inverse()
 
    def OpenCata(self):
       """ 
@@ -157,8 +155,10 @@ class READERCATA:
       # remplace par Retrouve_Ordre_Cata_Standard_autre qui utilise une numerotation
       # des mots cles a la creation
       self.Retrouve_Ordre_Cata_Standard_autre()
-      if self.mode_nouv_commande== "initial" :
-         self.Retrouve_Ordre_Cata_Standard()
+      if self.mode_nouv_commande== "initial" : self.Retrouve_Ordre_Cata_Standard()
+      if hasattr(self.cata, 'Ordre_Des_Commandes') : self.Ordre_Des_Commandes=self.cata.Ordre_Des_Commandes
+      else : self.Ordre_Des_Commandes=None
+      #print self.cata.Ordre_Des_Commandes
 
       #
       # analyse des donnees liees l'IHM : UIinfo
@@ -242,6 +242,7 @@ class READERCATA:
           contient le nom des mots cles dans le bon ordre
       """ 
       self.cata_ordonne_dico,self.appliEficas.liste_simp_reel=autre_analyse_cata.analyse_catalogue(self.cata)
+      #print self.cata_ordonne_dico,self.appliEficas.liste_simp_reel
 
    def Retrouve_Ordre_Cata_Standard(self):
       """ 
@@ -251,6 +252,7 @@ class READERCATA:
       nom_cata = os.path.splitext(os.path.basename(self.fic_cata))[0]
       rep_cata = os.path.dirname(self.fic_cata)
       self.Commandes_Ordre_Catalogue = analyse_catalogue_initial.analyse_catalogue(self.fic_cata)
+      #print self.Commandes_Ordre_Catalogue
 
    def ask_choix_catalogue(self, cata_choice_list):
       """
@@ -302,3 +304,44 @@ class READERCATA:
            if dict_clef_docu.has_key(oper.nom):
               oper.docu=dict_clef_docu[oper.nom]
 
+
+   def cree_dico_inverse(self):
+        self.dicoInverse={}
+        self.dico={}
+        listeEtapes=self.cata[0].JdC.commandes
+        for e in self.cata[0].JdC.commandes:
+            self.traite_entite(e)
+        #print self.dicoInverse.keys()
+        #for e in self.cata[0].JdC.commandes:
+        #    print "___________", e. nom , '__________________'
+        #    self.cree_rubrique(e,self.dico,0)
+
+        
+   def traite_entite(self,e):
+       boolIn=0
+       for (nomFils, fils) in e.entites.items() :
+          self.traite_entite(fils)
+          boolIn=1
+       if boolIn==0 :
+          liste=[]
+          moi=e
+          while hasattr(moi,'pere') :
+                liste.append((moi.nom,moi))
+                moi=moi.pere
+          liste.append((moi.nom,moi))
+          self.dicoInverse[e.nom]=liste
+
+   def cree_rubrique(self,e,dico, niveau):
+       from Accas import A_BLOC
+       decale=niveau*"   "
+       if niveau != 0 :
+           if isinstance(e,A_BLOC.BLOC): print decale, e.condition 
+           else :                           print decale, e. nom  
+       for (nom, fils) in e.entites.items() :
+           if  fils.entites.items() != [] : self.cree_rubrique(fils,dico,niveau+1)
+           else : print (niveau+1)*"   ", nom
+
+        
+          
+              
+