Salome HOME
PN Pour les formules
[tools/eficas.git] / Editeur / readercata.py
index 9ec040fe40d338eae6a01c3446fb3273c5f081a2..0a0db7cbcf4c71eeb0ce602395c655e8c6a2b58d 100644 (file)
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -68,14 +69,19 @@ class READERCATA:
           dans le répertoire Cata 
       """
       message1 = "Compilation des fichiers Eficas \n\n Veuillez patienter ..."
-      splash._splash.configure(text = message1)
+      if self.appli.test == 0 :
+         splash._splash.configure(text = message1)
       self.configure_barre(4)
-      if len(self.appli.CONFIGURATION.catalogues) == 1:
-          self.fic_cata = self.appli.CONFIGURATION.catalogues[0][2]
+      liste_cata_possibles=[]
+      for catalogue in self.appli.CONFIGURATION.catalogues:
+          if catalogue[0] == self.code :
+             liste_cata_possibles.append(catalogue)
+      if len(liste_cata_possibles)==1:
+          self.fic_cata = liste_cata_possibles[0][2]
           self.code = self.appli.CONFIGURATION.catalogues[0][0]
-          self.version_code = self.appli.CONFIGURATION.catalogues[0][1]
-          self.appli.format_fichier.set(self.appli.CONFIGURATION.catalogues[0][3])
-      elif len(self.appli.CONFIGURATION.catalogues) == 0:
+          self.version_code = liste_cata_possibles[0][1]
+          self.appli.format_fichier.set(liste_cata_possibles[0][3])
+      elif len(liste_cata_possibles)==0:
           # aucun catalogue défini dans le fichier Accas/editeur.ini
           if self.code == 'ASTER' :
               self.fic_cata = os.path.join(prefs.CODE_PATH,'Cata','cata.py')
@@ -97,31 +103,37 @@ class READERCATA:
       self.fic_cata_c = self.fic_cata + 'c'
       self.fic_cata_p = os.path.splitext(self.fic_cata)[0]+'_pickled.py'
 
-      splash._splash.configure(text = "Debut compil cata: %d s" % time.clock())
+      if self.appli.test == 0 :
+         splash._splash.configure(text = "Debut compil cata: %d s" % time.clock())
       # compilation éventuelle du catalogue
       test = self.compile_cata(self.fic_cata,self.fic_cata_c)
       self.update_barre()
-      splash._splash.configure(text = "Fin compil cata: %d s" % time.clock())
+      if self.appli.test == 0 :
+         splash._splash.configure(text = "Fin compil cata: %d s" % time.clock())
       if not test : showerror("Compilation catalogue","Impossible de compiler le catalogue %s" %self.fic_cata)
 
       # import du catalogue
-      splash._splash.configure(text = "Debut import_cata: %d s" % time.clock())
+      if self.appli.test == 0 :
+         splash._splash.configure(text = "Debut import_cata: %d s" % time.clock())
       self.cata = self.import_cata(self.fic_cata)
       self.update_barre()
-      splash._splash.configure(text = "Fin import_cata: %d s" % time.clock())
+      if self.appli.test == 0 :
+         splash._splash.configure(text = "Fin import_cata: %d s" % time.clock())
       if not self.cata : showerror("Import du catalogue","Impossible d'importer le catalogue %s" %self.fic_cata)
 
       #
       # analyse du catalogue (ordre des mots-clés)
       #
-      splash._splash.configure(text = "Debut Retrouve_Ordre: %d s" % time.clock())
+      if self.appli.test == 0 :
+         splash._splash.configure(text = "Debut Retrouve_Ordre: %d s" % time.clock())
       # Retrouve_Ordre_Cata_Standard fait une analyse textuelle du catalogue
       # remplacé par Retrouve_Ordre_Cata_Standard_autre qui utilise une numerotation
       # des mots clés à la création
       #self.Retrouve_Ordre_Cata_Standard()
       self.Retrouve_Ordre_Cata_Standard_autre()
       self.update_barre()
-      splash._splash.configure(text = "Fin Retrouve_Ordre: %d s" % time.clock())
+      if self.appli.test == 0 :
+         splash._splash.configure(text = "Fin Retrouve_Ordre: %d s" % time.clock())
       #
       # analyse des données liées à l'IHM : UIinfo
       #
@@ -160,7 +172,8 @@ class READERCATA:
           Réalise l'import du catalogue dont le chemin d'accès est donné par cata
       """
       import imp
-      splash._splash.configure(text = "Chargement du catalogue")
+      if self.appli.test == 0 :
+         splash._splash.configure(text = "Chargement du catalogue")
       nom_cata = os.path.splitext(os.path.basename(cata))[0]
       rep_cata = os.path.dirname(cata)
       sys.path[:0] = [rep_cata]
@@ -212,7 +225,8 @@ class READERCATA:
       if self.code != 'ASTER' : return
       fic_cata = os.path.join(self.appli.CONFIGURATION.path_cata_dev,'cata_developpeur.py')
       message="Chargement catalogue développeur présent dans :\n %s..." % self.appli.CONFIGURATION.path_cata_dev
-      splash._splash.configure(text = message,barre='oui')
+      if self.appli.test == 0 :
+         splash._splash.configure(text = message,barre='oui')
       cata_dev_ordonne = analyse_cata.analyse_catalogue(self,self.fic_cata)
       self.cata_dev_ordonne_cr = cata_dev_ordonne.cr
       cata_dev_ordonne_dico = cata_dev_ordonne.entites
@@ -228,7 +242,8 @@ class READERCATA:
       """
       if self.code != 'ASTER' : return
       message="Chargement catalogue développeur présent dans :\n %s..." % self.appli.CONFIGURATION.path_cata_dev
-      splash._splash.configure(text = message,barre='oui')
+      if self.appli.test == 0 :
+         splash._splash.configure(text = message,barre='oui')
       cata_dev_ordonne_dico = autre_analyse_cata.analyse_catalogue(self.cata_dev)
       self.cata_ordonne_dico.update(cata_dev_ordonne_dico)
       self.appli.affiche_infos(" catalogue(s) développeur(s) chargé(s)" )
@@ -243,7 +258,8 @@ class READERCATA:
           try:
               f = open(self.fic_cata_p)
               u = cPickle.Unpickler(f)
-              splash._splash.configure(text = "Analyse du catalogue")
+              if self.appli.test == 0 :
+                 splash._splash.configure(text = "Analyse du catalogue")
               self.cata_ordonne_dico = u.load()
               f.close()
           except :
@@ -251,7 +267,8 @@ class READERCATA:
               # ou (le plus probable) s'il a été créé sous un autre OS
               self.Get_Ordre_Cata(mode='cata')
       elif mode == 'cata':
-          splash._splash.configure(text = "Analyse du catalogue",barre='oui')
+          if self.appli.test == 0 :
+              splash._splash.configure(text = "Analyse du catalogue",barre='oui')
           cata_ordonne = analyse_catalogue.analyse_catalogue(self,self.fic_cata)
           self.cata_ordonne_cr = cata_ordonne.cr
           self.cata_ordonne_dico = cata_ordonne.entites
@@ -339,7 +356,8 @@ class READERCATA:
       if time1 > time2:
           try:
               # le catalogue doit être recompilé avant d'être importé
-              splash._splash.configure(text="Compilation du catalogue\nCela peut prendre plusieurs secondes ...")
+              if self.appli.test == 0 :
+                 splash._splash.configure(text="Compilation du catalogue\nCela peut prendre plusieurs secondes ...")
               py_compile.compile(cata)
           except:
               return 0
@@ -354,14 +372,16 @@ class READERCATA:
       """ Configure la barre de progression en lui passant comme paramètre le
           nombre de commandes du catalogue qui lui sert à déterminer la longueur de son incrément """
       try:
-          splash._splash.configure(barre='oui',ratio = nbcommandes)
+          if self.appli.test == 0 :
+             splash._splash.configure(barre='oui',ratio = nbcommandes)
       except:
           pass
 
    def update_barre(self):
       """ Update la position de la barre de progression : la fait progresser de son incrément """
       try:
-          splash._splash.update_barre()
+          if self.appli.test == 0 :
+             splash._splash.update_barre()
       except:
           pass
 
@@ -399,4 +419,4 @@ class READERCATA:
           dict_clef_docu[clef]=docu
       for oper in self.cata.JdC.commandes:
            if dict_clef_docu.has_key(oper.nom):
-              oper.docu=dict_clef_docu[clef]
+              oper.docu=dict_clef_docu[oper.nom]