From d964cae9463395df435574b3800df6b9bfa1dd7f Mon Sep 17 00:00:00 2001 From: "pascale.noyret" Date: Tue, 12 Nov 2019 18:40:39 +0100 Subject: [PATCH] un petit bout de menage sur les options --- Editeur/session.py | 2 +- InterfaceQT4/editor.py | 1 - InterfaceQT4/editorSsIhm.py | 2 -- InterfaceQT4/eficas_go.py | 68 ++++++++++++++++++++--------------- InterfaceQT4/qtEficas.py | 13 ++++--- InterfaceQT4/qtEficasSsIhm.py | 9 +++-- InterfaceQT4/readercata.py | 7 ++-- 7 files changed, 61 insertions(+), 41 deletions(-) diff --git a/Editeur/session.py b/Editeur/session.py index 6f7733c8..3050dfb5 100644 --- a/Editeur/session.py +++ b/Editeur/session.py @@ -255,7 +255,7 @@ def createparser(): action="callback", callback=checkFich, help=tr("fichier decrivant une etude")) - parser.add_option(u"-c","--cata", action="store", type="string",dest="cata", + parser.add_option(u"-c","--cata", action="store", type="string",dest="fichierCata", help=tr("version de catalogue a utiliser")) parser.add_option(u"-v","--version_cata", action="store", type="string",dest="version_cata", diff --git a/InterfaceQT4/editor.py b/InterfaceQT4/editor.py index 24141467..e63ad5ac 100755 --- a/InterfaceQT4/editor.py +++ b/InterfaceQT4/editor.py @@ -102,7 +102,6 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): if self.maConfiguration.closeOptionnel : self.fermeOptionnel() if self.maConfiguration.boutonDsMenuBar : self.appliEficas.remplitIconesCommandes() - self.version_code = session.d_env.cata self.format = self.appliEficas.format_fichier self.format_in = self.appliEficas.format_fichier_in diff --git a/InterfaceQT4/editorSsIhm.py b/InterfaceQT4/editorSsIhm.py index 12423771..25f2812e 100755 --- a/InterfaceQT4/editorSsIhm.py +++ b/InterfaceQT4/editorSsIhm.py @@ -76,8 +76,6 @@ class JDCEditorSsIhm : self.code = self.appliEficas.maConfiguration.code self.maConfiguration = self.appliEficas.maConfiguration - self.version_code = session.d_env.cata - if not hasattr ( self.appliEficas, 'readercata') or self.appliEficas.readercata.demandeCatalogue==True or self.appliEficas.multi==True: if self.maConfiguration.typeDeCata == 'XML' : diff --git a/InterfaceQT4/eficas_go.py b/InterfaceQT4/eficas_go.py index ccc574cf..3f48ee04 100755 --- a/InterfaceQT4/eficas_go.py +++ b/InterfaceQT4/eficas_go.py @@ -38,8 +38,8 @@ if ihmQTDir not in sys.path : sys.path.append(ihmQTDir) if editeurDir not in sys.path : sys.path.append(editeurDir) -def lanceEficas(code=None,fichier=None,ssCode=None,multi=False,langue='en'): -#------------------------------------------------------------------------- +def lanceEficas(code=None, multi=False, langue='en'): +#--------------------------------------------------- """ Lance l'appli EFICAS avec Ihm """ @@ -51,61 +51,64 @@ def lanceEficas(code=None,fichier=None,ssCode=None,multi=False,langue='en'): from Editeur import session options = session.parse(sys.argv) - if options.code != None : code=options.code - if options.ssCode != None : ssCode=options.ssCode + if options.code != None : code=options.code from InterfaceQT4.qtEficas import Appli app = QApplication(sys.argv) - Eficas=Appli(code=code,salome=0,ssCode=ssCode,multi=multi,langue=langue) + Eficas=Appli(code=code,salome=0,multi=multi,langue=langue) Eficas.show() res=app.exec_() sys.exit(res) -def getEficasSsIhm(code=None,fichier=None,ssCode=None,multi=False,langue='en',versionCode=None, fichierCata=None): -#---------------------------------------------------------------------------------------------------------------- +def getEficasSsIhm(code=None, multi=False, langue='en'): +#------------------------------------------------------ """ Lance l'appli EFICAS sans Ihm """ from Editeur import session options = session.parse(sys.argv) if options.code != None : code=options.code - if options.ssCode != None : ssCode=options.ssCode - if options.ssCode != None : ssCode=options.ssCode - if fichierCata != None : fichierCata = os.path.abspath(fichierCata) from InterfaceQT4.qtEficasSsIhm import AppliSsIhm - options=session.parse(['ssIhm','-k',code,'-v',versionCode]) - Eficas=AppliSsIhm(code=code,salome=0,ssCode=ssCode,multi=multi,langue=langue,versionCode=versionCode, fichierCata=fichierCata) + Eficas=AppliSsIhm(code=code, salome=0, multi=multi, langue=langue) return Eficas -def genereXSD(code=None,fichier=None,ssCode=None,multi=False,langue='en',debug=True): + + +def genereXSD(code=None): +#------------------------ from Editeur import session options = session.parse(sys.argv) - if options.code != None : code=options.code - if options.ssCode!= None : ssCode=options.ssCode - if options.cata == None : + if code != None : options.code = code + if options.fichierCata == None : print ('Use -c cata_name.py') return - monEficasSsIhm = getEficasSsIhm(code=code, fichierCata=options.cata) + + monEficasSsIhm = getEficasSsIhm(code=options.code) monEditor=monEficasSsIhm.getEditor() texteXSD=monEficasSsIhm.dumpXsd() - fileXSD = options.cata[:options.cata.rfind(".")] + '_genere.xsd' + fileXSD = options.fichierCata[:options.fichierCata.rfind(".")] + '_genere.xsd' f = open( str(fileXSD), 'w') f.write(str(texteXSD)) -def genereXML(code=None,fichier=None,ssCode=None,multi=False,langue='en',debug=True): +def genereXML(code=None): +#----------------------- from Editeur import session options=session.parse(sys.argv) - if options.code!= None : code=options.code - if options.ssCode!= None : ssCode=options.ssCode - if fichier==None : fichier=options.comm[0] - if options.cata == None : + if code != None : options.code = code + if options.fichierCata == None : print ('Use -c cata_name.py') return - monEficasSsIhm = getEficasSsIhm(code=code, fichierCata=options.cata) + fichier=options.comm[0] + if fichier==None : + print ('comm file is needed') + return + + monEficasSsIhm = getEficasSsIhm(code=options.code) + from .editorSsIhm import JDCEditorSsIhm monEditeur=JDCEditorSsIhm(monEficasSsIhm,fichier) fichierXML=fichier[:fichier.rfind(".")]+'.xml' @@ -113,16 +116,19 @@ def genereXML(code=None,fichier=None,ssCode=None,multi=False,langue='en',debug=T monEditeur.generator.writeDefault(fichierXML) + +# --------------------------- toutes les fonctions après sont obseletes def lanceEficas_ssIhm(code=None,fichier=None,ssCode=None,version=None,debug=False,langue='en'): """ Lance l'appli EFICAS SsIhm """ # Analyse des arguments de la ligne de commande + print ('deprecated') from Editeur import session options=session.parse(sys.argv) - if version!=None and options.cata==None : options.cata=version - if fichier==None : fichier=options.comm[0] - if code == None : code=options.code + if version!=None and options.version == None : options.version=version + if fichier == None : fichier=options.comm[0] + if code == None : code=options.code from .qtEficas import Appli Eficas=Appli(code=code,salome=0,ssCode=ssCode,ssIhm=True,langue=langue) @@ -140,14 +146,17 @@ def lanceEficas_ssIhm(code=None,fichier=None,ssCode=None,version=None,debug=Fals return monEditeur def lanceEficas_ssIhm_chercheGroupes(code=None,fichier=None,ssCode=None,version=None): + print ('deprecated') monEditeur=lanceEficas_ssIhm(code,fichier,ssCode,version) print((monEditeur.chercheGroupes())) def lanceEficas_ssIhm_cherche_cr(code=None,fichier=None,ssCode=None,version=None): + print ('deprecated') monEditeur=lanceEficas_ssIhm(code,fichier,ssCode,version) print((monEditeur.jdc.cr)) def lanceEficas_ssIhm_reecrit(code=None,fichier=None,ssCode=None,version=None,ou=None,cr=False,debug=False,leger=False,langue='ang'): + print ('deprecated') #print 'lanceEficas_ssIhm_reecrit', fichier monEditeur=lanceEficas_ssIhm(code,fichier,ssCode,version,langue=langue) if ou == None : @@ -184,6 +193,7 @@ def lanceEficas_param(code='Adao',fichier=None,version='V0',macro='ASSIMILATION_ """ Lance l'appli EFICAS pour trouver les noms des groupes """ + print ('deprecated') # Analyse des arguments de la ligne de commande from Editeur import session options=session.parse(sys.argv) @@ -211,6 +221,7 @@ def getJdcParameters(jdc,macro): specified jdc text to a python dictionnary whose keys are the names of the data of the macro. """ + print ('deprecated') context = {} source = "def args_to_dict(**kwargs): return kwargs \n" source+= "%s = _F = args_to_dict \n"%macro @@ -226,6 +237,7 @@ def loadJDC(filename): This function loads the text from the specified JdC file. A JdC file is the persistence file of Eficas (*.comm). """ + print ('deprecated') fcomm=open(filename,'r') jdc = "" for line in fcomm.readlines(): @@ -239,6 +251,6 @@ def loadJDC(filename): if __name__ == "__main__": import sys sys.path.insert(0,os.path.abspath(os.path.join(os.getcwd(),'..'))) - lanceEficas(code=None,fichier=None,ssCode=None,multi=True) + lanceEficas(code=None,multi=True) diff --git a/InterfaceQT4/qtEficas.py b/InterfaceQT4/qtEficas.py index 4b3fd8af..16a33d81 100755 --- a/InterfaceQT4/qtEficas.py +++ b/InterfaceQT4/qtEficas.py @@ -47,7 +47,7 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): """ Class implementing the main user interface. """ - def __init__(self,code=None,salome=1,parent=None,ssCode=None,multi=False,langue='fr',ssIhm=False,versionCode=None,fichierCata=None): + def __init__(self,code=None,salome=1,parent=None, multi=False,langue='fr',ssIhm=False,versionCode=None): """ Constructor """ @@ -55,7 +55,7 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): print ('mauvaise utilisation de la classe Appli. Utiliser AppliSsIm SVP') exit() - AppliSsIhm.__init__(self,code,salome,parent,ssCode,multi,langue,ssIhm=True,versionCode=versionCode,fichierCata=fichierCata) + AppliSsIhm.__init__(self,code,salome,parent,multi=multi,langue=langue,ssIhm=True) QMainWindow.__init__(self,parent) Ui_Eficas.__init__(self) @@ -63,11 +63,15 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): self.multi=multi self.demande=multi # voir PSEN + if self.multi == False : - self.definitCode(code,ssCode) + self.definitCode(code,None) if code==None: return else : - print ('a programmer') + self.definitCode(code,None) + if code==None: return + print ('il faut trouver le chemin du code') + return self.suiteTelemac=False if hasattr (self, 'maConfiguration') : @@ -142,6 +146,7 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): self.connecterSignaux() self.toolBar.addSeparator() + if self.code != None : self.construitMenu() self.setWindowTitle(self.VERSION_EFICAS) diff --git a/InterfaceQT4/qtEficasSsIhm.py b/InterfaceQT4/qtEficasSsIhm.py index 77df76a8..4a66cd5a 100755 --- a/InterfaceQT4/qtEficasSsIhm.py +++ b/InterfaceQT4/qtEficasSsIhm.py @@ -33,19 +33,20 @@ from Extensions import param2 from InterfaceQT4.getVersion import getEficasVersion from InterfaceQT4.viewManagerSsIhm import MyViewManagerSsIhm +from Editeur import session + class AppliSsIhm: """ Class implementing the main user interface. """ - def __init__(self,code=None,salome=1,parent=None,ssCode=None,multi=False,langue='fr',ssIhm=True,versionCode=None,fichierCata=None): + def __init__(self,code=None,salome=1,parent=None,multi=False,langue='fr',ssIhm=True,versionCode=None): """ Constructor """ version=getEficasVersion() self.VERSION_EFICAS="Eficas QT5 Salome " + version self.versionCode=versionCode - self.fichierCata=fichierCata self.salome=salome self.ssIhm=True @@ -63,6 +64,8 @@ class AppliSsIhm: self.listeCode=['Adao','ADAO','Carmel3D','Telemac','CF','MAP','ZCracks', 'SEP','SPECA','PSEN_Eficas','PSEN_N1'] self.repIcon=os.path.join( os.path.dirname(os.path.abspath(__file__)),'..','Editeur','icons') + self.fichierCata=session.d_env.fichierCata + if self.salome: import Accas try : @@ -80,7 +83,7 @@ class AppliSsIhm: else : self.langue="ang" if self.multi == False : - self.definitCode(code,ssCode) + self.definitCode(code,None) if code==None: return self.suiteTelemac=False diff --git a/InterfaceQT4/readercata.py b/InterfaceQT4/readercata.py index a3232ea6..63e14000 100644 --- a/InterfaceQT4/readercata.py +++ b/InterfaceQT4/readercata.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# -*- coding: utf-8 -*- # Copyright (C) 2007-2017 EDF R&D # # This library is free software; you can redistribute it and/or @@ -97,6 +97,7 @@ class ReaderCataCommun(object): liste_cata_possibles=[] self.Commandes_Ordre_Catalogue=[] + all_cata_list = [] for catalogue in self.appliEficas.maConfiguration.catalogues: if isinstance(catalogue, CatalogDescription): all_cata_list.append(catalogue) @@ -109,9 +110,11 @@ class ReaderCataCommun(object): else: for catalogue in all_cata_list: if catalogue.code == self.code and catalogue.file_format == self.ssCode: liste_cata_possibles.append(catalogue) + + # souci : c est pour la version if self.appliEficas.fichierCata != None : for catalogue in all_cata_list: - if os.path.abspath(catalogue.cata_file_path) == self.appliEficas.fichierCata : + if os.path.abspath(catalogue.cata_file_path) == (os.path.abspath(self.appliEficas.fichierCata)) : liste_cata_possibles=(catalogue,) break -- 2.39.2