Salome HOME
19-07-16
[tools/eficas.git] / InterfaceQT4 / readercata.py
index 55800c1a15e3ea783c43cf4df30bffacdb211e3a..9137cd3e31990d0043ff055ff26c6d5dbf71f790 100644 (file)
@@ -42,9 +42,12 @@ from monChoixCata import MonChoixCata
 from Extensions.i18n import tr
 from Extensions.eficas_exception import EficasException
 
-from PyQt4 import *
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+if monEnvQT5 :
+   from PyQt5.QtWidgets import QMessageBox, QApplication, QDialog
+else :
+   from PyQt4.QtGui  import *
+
 
 
 class READERCATA:
@@ -56,10 +59,7 @@ 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
@@ -158,8 +158,14 @@ 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
+      
+      if hasattr(self.cata, 'Classement_Commandes_Ds_Arbre') : 
+             self.Classement_Commandes_Ds_Arbre=self.cata.Classement_Commandes_Ds_Arbre
+      else : self.Classement_Commandes_Ds_Arbre=()
+      #print self.cata.Ordre_Des_Commandes
 
       #
       # analyse des donnees liees l'IHM : UIinfo
@@ -216,13 +222,13 @@ class READERCATA:
          self.appliEficas.rep_scripts=os.path.join(rep_cata,nom_cata)
          sys.path[:0] = [self.appliEficas.rep_scripts]
          try :
-             self.appliEficas.mesScripts=__import__(mesScriptsNomFichier)
+             self.appliEficas.mesScripts[self.code]=__import__(mesScriptsNomFichier)
          except:
              pass
          sys.path=sys.path[1:]
       else :
          try :
-            self.appliEficas.mesScripts=__import__(mesScriptsNomFichier)
+            self.appliEficas.mesScripts[self.code]=__import__(mesScriptsNomFichier)
          except:
             pass
 
@@ -243,6 +249,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):
       """ 
@@ -252,6 +259,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):
       """
@@ -267,9 +275,9 @@ class READERCATA:
       widgetChoix = MonChoixCata(self.appliEficas, [cata.user_name for cata in cata_choice_list], title)
       ret=widgetChoix.exec_()
       
-      lab=QString(self.VERSION_EFICAS)+" "
+      lab=str(self.VERSION_EFICAS)+" "
       lab+=tr(" pour ")
-      lab+=QString(self.code) 
+      lab+=str(self.code) 
       lab+=tr(" avec le catalogue ")
       if ret == QDialog.Accepted:
           cata = cata_choice_list[widgetChoix.CBChoixCata.currentIndex()]
@@ -283,6 +291,7 @@ class READERCATA:
           #qApp.mainWidget().setCaption(lab)
       else:
           raise EficasException()
+        
 
    def traite_clefs_documentaires(self):
       try:
@@ -303,22 +312,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={}
+        self.dicoMC={} 
         listeEtapes=self.cata[0].JdC.commandes
         for e in self.cata[0].JdC.commandes:
+        #for e in (self.cata[0].JdC.commandes[0],):
+            #print e.nom
             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)
-
+        #print self.dicoInverse
+
+        #from Extensions import localisation
+        #app=QApplication
+        # tres dommage  A Revoir
+        #localisation.localise(app,"fr")
+        self.dicoInverseFrancais={}
+        self.dicoFrancaisAnglais={}
+        self.dicoAnglaisFrancais={}
+        for k in self.dicoInverse.keys():
+            listefr=[]
+            for nom, obj in self.dicoInverse[k] :
+                listefr.append((tr(nom),obj))
+                self.dicoFrancaisAnglais[tr(nom)]=nom
+                self.dicoAnglaisFrancais[nom]=tr(nom)
+            self.dicoInverseFrancais[tr(k)]=listefr
+            #print tr(k),listefr
+        if self.appliEficas.langue=="ang" : localisation.localise(app,"en")
+        
+         
         
    def traite_entite(self,e):
+       #print "_______________"
+       #print e
+       #print e.nom
        boolIn=0
        for (nomFils, fils) in e.entites.items() :
+          self.dicoMC[nomFils]=fils
           self.traite_entite(fils)
           boolIn=1
        if boolIn==0 :
@@ -333,14 +364,12 @@ class READERCATA:
    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  
+       #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
+           #else : print (niveau+1)*"   ", nom
 
         
           
-              
-