Salome HOME
modifs pour Telemac
[tools/eficas.git] / InterfaceQT4 / eficas_go.py
index ad76ff3d2a55333bcb45a3fb8fb052526cbfddb4..d7aea420395a51840183530d2c185f726b943139 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
-# Copyright (C) 2007-2013   EDF R&D
+# Copyright (C) 2007-2017   EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 #
 
 # Modules Python
+from __future__ import absolute_import
+from __future__ import print_function
+try :
+   from builtins import str
+except : pass
+
+from PyQt5.QtWidgets import QApplication
+
 import sys,os
 repIni=os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)),".."))
-from  determine import monEnvQT5
-if monEnvQT5 : 
-    ihmQTDir=os.path.join(repIni,"UiQT5")
-    from PyQt5.QtWidgets import QApplication
-else         : 
-    ihmQTDir=os.path.join(repIni,"UiQT4")
-    from PyQt4.QtGui import QApplication
+ihmQTDir=os.path.join(repIni,"UiQT5")
 editeurDir=os.path.join(repIni,"Editeur")
 ihmDir=os.path.join(repIni,"InterfaceQT4")
+
 if ihmDir not in sys.path : sys.path.append(ihmDir)
 if ihmQTDir not in sys.path : sys.path.append(ihmQTDir)
 if editeurDir not in sys.path :sys.path.append(editeurDir)
 
+def getEficasSsIhm(code=None,fichier=None,ssCode=None,multi=False,langue='en',versionCode=None):
+    #print (versionCode)
+    from InterfaceQT4.qtEficasSsIhm import AppliSsIhm
+    Eficas=AppliSsIhm(code=code,salome=0,ssCode=ssCode,multi=multi,langue=langue,versionCode=versionCode)
+    from Editeur  import session
+    options=session.parse(['ssIhm','-k',code,'-v',versionCode])
+    return Eficas
 
-def lance_eficas(code=None,fichier=None,ssCode=None,multi=False,langue='en'):
+
+def lanceEficas(code=None,fichier=None,ssCode=None,multi=False,langue='en'):
     """
         Lance l'appli EFICAS
     """
@@ -46,16 +57,28 @@ def lance_eficas(code=None,fichier=None,ssCode=None,multi=False,langue='en'):
     if options.code!= None : code=options.code
     if options.ssCode!= None : ssCode=options.ssCode
 
-    from qtEficas import Appli
+    from InterfaceQT4.qtEficas import Appli
     app = QApplication(sys.argv)
-    Eficas=Appli(code=code,ssCode=ssCode,multi=multi,langue=langue)
+
+    #import cProfile, pstats, StringIO
+    #pr = cProfile.Profile()
+    #pr.enable()
+
+    Eficas=Appli(code=code,salome=0,ssCode=ssCode,multi=multi,langue=langue)
+    #pr.disable()
+    #s = StringIO.StringIO()
+    #sortby = 'cumulative'
+    #ps = pstats.Stats(pr, stream=s).sort_stats(sortby)
+    #ps.print_stats()
+    #print (s.getValue())
+
     Eficas.show()
 
     res=app.exec_()
     sys.exit(res)
 
 
-def lance_eficas_ssIhm(code=None,fichier=None,ssCode=None,version=None):
+def lanceEficas_ssIhm(code=None,fichier=None,ssCode=None,version=None,debug=False,langue='en'):
     """
         Lance l'appli EFICAS pour trouver les noms des groupes
     """
@@ -66,32 +89,32 @@ def lance_eficas_ssIhm(code=None,fichier=None,ssCode=None,version=None):
     if fichier==None : fichier=options.comm[0]
     if code == None : code=options.code
 
-    from qtEficas import Appli
-    app = QApplication(sys.argv)
-    Eficas=Appli(code=code,ssCode=ssCode,ssIhm=True)
+    from .qtEficas import Appli
+    Eficas=Appli(code=code,salome=0,ssCode=ssCode,ssIhm=True,langue=langue)
 
-    from ssIhm  import QWParentSSIhm
+    from .ssIhm  import QWParentSSIhm
     parent=QWParentSSIhm(code,Eficas,version)
 
-    import readercata
+    from . import readercata
     if not hasattr ( Eficas, 'readercata'):
-           monreadercata  = readercata.READERCATA( parent, Eficas )
+           monreadercata  = readercata.ReaderCata( parent, Eficas )
            Eficas.readercata=monreadercata
 
-    from editor import JDCEditor
+    from .editor import JDCEditor
     monEditeur=JDCEditor(Eficas,fichier)
     return monEditeur
 
-def lance_eficas_ssIhm_cherche_Groupes(code=None,fichier=None,ssCode=None,version=None):
-    monEditeur=lance_eficas_ssIhm(code,fichier,ssCode,version)
-    print monEditeur.cherche_Groupes()
+def lanceEficas_ssIhm_chercheGroupes(code=None,fichier=None,ssCode=None,version=None):
+    monEditeur=lanceEficas_ssIhm(code,fichier,ssCode,version)
+    print((monEditeur.chercheGroupes()))
 
-def lance_eficas_ssIhm_cherche_cr(code=None,fichier=None,ssCode=None,version=None):
-    monEditeur=lance_eficas_ssIhm(code,fichier,ssCode,version)
-    print monEditeur.jdc.cr
+def lanceEficas_ssIhm_cherche_cr(code=None,fichier=None,ssCode=None,version=None):
+    monEditeur=lanceEficas_ssIhm(code,fichier,ssCode,version)
+    print((monEditeur.jdc.cr))
 
-def lance_eficas_ssIhm_reecrit(code=None,fichier=None,ssCode=None,version=None,ou=None,cr=False):
-    monEditeur=lance_eficas_ssIhm(code,fichier,ssCode,version)
+def lanceEficas_ssIhm_reecrit(code=None,fichier=None,ssCode=None,version=None,ou=None,cr=False,debug=False,leger=False,langue='ang'):
+    #print 'lanceEficas_ssIhm_reecrit', fichier
+    monEditeur=lanceEficas_ssIhm(code,fichier,ssCode,version,langue=langue)
     if ou == None : 
        fileName=fichier.split(".")[0]+"_reecrit.comm"
        fn=fichier.split(".")[0]+"_cr.txt"
@@ -102,14 +125,27 @@ def lance_eficas_ssIhm_reecrit(code=None,fichier=None,ssCode=None,version=None,o
        f2=os.path.basename(fn)
        fileName=os.path.join(ou,f1)
        fileCr=os.path.join(ou,f2)
-    monEditeur.saveFileAs(fileName=fileName)
+    debut=False
+    if debug :
+         import cProfile, pstats, StringIO
+         pr = cProfile.Profile()
+         pr.enable()
+         monEditeur.saveFileAs(fileName=fileName)
+         pr.disable()
+         s = StringIO.StringIO()
+         sortby = 'cumulative'
+         ps = pstats.Stats(pr, stream=s).sort_stats(sortby)
+         ps.print_stats()
+         print (s.getValue())
+
+    elif not leger : monEditeur.saveFileAs(fileName=fileName)
+    else : monEditeur.saveFileLegerAs(fileName=fileName)
     if cr:
-       f = open(fileCr, 'wb')
+       f = open(fileCr, 'w')
        f.write(str(monEditeur.jdc.report()))
        f.close()
 
-
-def lance_eficas_param(code='Adao',fichier=None,version='V0',macro='ASSIMILATION_STUDY'):
+def lanceEficas_param(code='Adao',fichier=None,version='V0',macro='ASSIMILATION_STUDY'):
     """
         Lance l'appli EFICAS pour trouver les noms des groupes
     """
@@ -117,24 +153,29 @@ def lance_eficas_param(code='Adao',fichier=None,version='V0',macro='ASSIMILATION
     from Editeur  import session
     options=session.parse(sys.argv)
 
-    from qtEficas import Appli
-    app = QApplication(sys.argv)
-    Eficas=Appli(code=code,ssCode=None)
+    from .qtEficas import Appli
+    #app = QApplication(sys.argv)
+    #Eficas=Appli(code=code,ssCode=None,salome=0)
 
-    from ssIhm  import QWParentSSIhm
-    parent=QWParentSSIhm(code,Eficas,version)
+    from .ssIhm  import QWParentSSIhm
+    Eficas=QWParentSSIhm(code,version)
 
-    import readercata
+    from . import readercata
     if not hasattr ( Eficas, 'readercata'):
-           monreadercata  = readercata.READERCATA( parent, Eficas )
+           monreadercata  = readercata.ReaderCata( parent, Eficas )
            Eficas.readercata=monreadercata
 
-    from editor import JDCEditor
+    from .editor import JDCEditor
     monEditeur=JDCEditor(Eficas,fichier)
     texte=loadJDC(fichier)
     parameters=getJdcParameters(texte,macro)
     return parameters
 
+#def getEficasSsIhm(code='Adao',versionCode='V0'):
+#    from .qtEficasSsIhm import AppliSsIhm
+#    Eficas=AppliSsIhm(code=code,ssCode=None,salome=0)
+#    return Eficas
+
 def getJdcParameters(jdc,macro):
     """
     This function converts the data from the specified macro of the
@@ -169,6 +210,6 @@ def loadJDC(filename):
 if __name__ == "__main__":
     import sys
     sys.path.insert(0,os.path.abspath(os.path.join(os.getcwd(),'..')))
-    lance_eficas(code=None,fichier=None,ssCode=None,multi=True)
+    lanceEficas(code=None,fichier=None,ssCode=None,multi=True)