Il s'appuie sur la classe READERCATA
"""
# Modules Python
+from __future__ import absolute_import
+from __future__ import print_function
+try :
+ from builtins import str
+ from builtins import object
+except : pass
+
import time
import os,sys,py_compile
import traceback
-import cPickle
+import six.moves.cPickle
import re
import types
import analyse_catalogue_initial
import autre_analyse_cata
import uiinfo
-from monChoixCata import MonChoixCata
+from .monChoixCata import MonChoixCata
from Extensions.i18n import tr
from Extensions.eficas_exception import EficasException
-from determine import monEnvQT5
-if monEnvQT5 :
- from PyQt5.QtWidgets import QMessageBox, QApplication, QDialog
-else :
- from PyQt4.QtGui import *
+from PyQt5.QtWidgets import QMessageBox, QApplication, QDialog
-class READERCATA:
+class READERCATA(object):
def __init__(self,QWParent, appliEficas):
self.QWParent=QWParent
self.fic_cata=None
self.OpenCata()
self.cataitem=None
- if self.code=="TELEMAC": self.cree_dico_inverse()
+ self.cree_dico_inverse()
+ if self.code=="TELEMAC": self.cree_dico_CasToCata()
+ #for k in self.dicoInverse:
+ # genea= self.dicoInverse[k]
+ # for t in genea :
+ # print t[0]
+ # print "\n"
+
def OpenCata(self):
"""
for catalogue in self.appliEficas.CONFIGURATION.catalogues:
if isinstance(catalogue, CatalogDescription):
all_cata_list.append(catalogue)
- elif isinstance(catalogue, types.TupleType):
+ elif isinstance(catalogue, tuple):
all_cata_list.append(CatalogDescription.create_from_tuple(catalogue))
else:
- print "Catalog description cannot be interpreted: ", catalogue
+ print(("Catalog description cannot be interpreted: ", catalogue))
# This filter is only useful for codes that have subcodes (like MAP).
# Otherwise, the "code" attribute of the catalog description can (should) be None.
if self.fic_cata == None :
if self.appliEficas.salome == 0 :
- print "Pas de catalogue pour code %s, version %s" %(self.code,self.version_code)
+ print(("Pas de catalogue pour code %s, version %s" %(self.code,self.version_code)))
sys.exit(1)
else :
self.appliEficas.close()
self.cata = self.import_cata(self.fic_cata)
if not self.cata :
QMessageBox.critical( self.QWParent, tr("Import du catalogue"),tr("Impossible d'importer le catalogue ")+ self.fic_cata)
- self.appliEficas.close()
+ self.appliEficas.close()
if self.appliEficas.salome == 0 :
sys.exit(1)
#
a=self.appliEficas.CONFIGURATION.dRepMat[self.version_code]
except :
if self.code == "ASTER" :
- print "Probleme avec le repertoire materiau"
+ print ("Probleme avec le repertoire materiau")
a='.'
self.appliEficas.CONFIGURATION.rep_mat=a
self.appliEficas.listeAEnlever.append(rep_cata)
- if sys.modules.has_key(nom_cata):
+ if nom_cata in list(sys.modules.keys()) :
del sys.modules[nom_cata]
- for k in sys.modules.keys():
+ for k in sys.modules:
if k[0:len(nom_cata)+1] == nom_cata+'.':
del sys.modules[k]
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
try :
o=__import__(nom_cata)
return o
- except Exception,e:
+ except Exception as e:
traceback.print_exc()
return 0
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):
"""
self.fic_doc=getattr(self.appliEficas.CONFIGURATION,fic_doc )
f=open(self.fic_doc)
except:
- print "Pas de fichier associe contenant des clefs documentaires"
+ print ("Pas de fichier associe contenant des clefs documentaires")
return
dict_clef_docu={}
docu=l[deb:-1]
dict_clef_docu[clef]=docu
for oper in self.cata.JdC.commandes:
- if dict_clef_docu.has_key(oper.nom):
+ if oper.nom in dict_clef_docu :
oper.docu=dict_clef_docu[oper.nom]
def cree_dico_inverse(self):
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)
- #for e in self.cata[0].JdC.commandes:
- # 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")
+
+ #self.dicoFrancaisAnglais={}
+ #self.dicoAnglaisFrancais={}
+ #for k in self.dicoInverse:
+ # 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
+
+
+ def cree_dico_CasToCata(self):
+ if self.appliEficas.langue=="ang" :
+ from dicoCasEnToCata import dicoCasEnToCata as dicoCasToCata
+ else :
+ from dicoCasFrToCata import dicoCasFrToCata as dicoCasToCata
+ self.dicoCasToCata=dicoCasToCata
+
def traite_entite(self,e):
- #print "_______________"
- #print e
- #print e.nom
boolIn=0
- for (nomFils, fils) in e.entites.items() :
+ for (nomFils, fils) in list(e.entites.items()) :
self.dicoMC[nomFils]=fils
self.traite_entite(fils)
boolIn=1
moi=moi.pere
liste.append((moi.nom,moi))
self.dicoInverse[e.nom]=liste
+ self.dicoInverse[tr(e.nom)]=liste
def cree_rubrique(self,e,dico, niveau):
from Accas import A_BLOC
#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)
+ for (nom, fils) in list(e.entites.items()) :
+ if list(fils.entites.items()) != [] : self.cree_rubrique(fils,dico,niveau+1)
#else : print (niveau+1)*" ", nom