--- /dev/null
+# -*- coding: utf-8 -*-
+# Copyright (C) 2007-2013 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
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+"""
+ Ce module contient des utilitaires divers
+"""
+import os,re
+import glob
+import traceback
+import codecs,types
+
+from Extensions.i18n import tr
+
+def substract_list(liste1,liste2):
+ """
+ Enleve tous les elements de liste2 presents dans liste1 et retourne liste1
+ """
+ for item in liste2:
+ try:
+ liste1.remove(item)
+ except:
+ pass
+ return liste1
+
+def get_rep_user(dir):
+ """
+ Determine sur quelle plate-forme s'execute Eficas et recherche
+ le repertoire de l'utilisateur /$home/Eficas_install
+ """
+
+ rep_user_eficas= os.path.join(os.environ['HOME'],dir)
+ if os.path.exists(rep_user_eficas):
+ if os.path.isfile(rep_user_eficas) :
+ print (tr("Un fichier de nom %s existe deja : impossible de creer un repertoire de meme nom", rep_user_eficas))
+ rep_user_eficas=None
+ else :
+ try:
+ os.mkdir(rep_user_eficas)
+ except:
+ print (tr("Creation du repertoire %s impossible\n Verifiez vos droits d'acces", rep_user_eficas))
+ return rep_user_eficas
+
+def read_file(file):
+ """
+ ouvre le fichier file et retourne son contenu
+ si pbe retourne None
+ """
+ try :
+ f=open(file)
+ text=f.read()
+ f.close()
+ return text
+ except:
+ return None
+
+def save_in_file(file,text,dir=None):
+ """
+ cree le fichier file (ou l'ecrase s'il existe) et ecrit text dedans
+ retourne 1 si OK 0 sinon
+ """
+ try :
+ if dir != None:
+ os.chdir(dir)
+ f=open(file,'w')
+ f.write(text)
+ f.close()
+ return 1
+ except:
+ return 0
+
+def extension_fichier(pathAndFile):
+ """ Return ext if path/filename.ext is given """
+ return os.path.splitext(pathAndFile)[1][1:]
+
+def stripPath(pathAndFile):
+ """ Return filename.ext if path/filename.ext is given """
+ return os.path.split(pathAndFile)[1]
+
+def init_rep_cata_dev(fic_cata,rep_goal):
+ """
+ Initialise le repertoire des catalogues developpeurs (chemin d'acces donne
+ dans le fichier eficas.ini cad :
+ - le cree s'il n'existe pas encore
+ - copie dedans les 3 fichiers necessaires :
+ * __init__.py (pour que ce repertoire puisse etre interprete comme un package)
+ * entete.py (pour realiser les import necessaires a l'interpretation des catalogues)
+ * declaration_concepts.py (idem)
+ - cree le fichier cata_developpeur.py qui sera par la suite importe
+ """
+ try :
+ if not os.path.isdir(rep_goal) :
+ os.mkdir(rep_goal)
+ #texte_entete = get_entete_cata(fic_cata)
+ texte_entete=""
+ # rep_goal doit contenir les catalogues du developpeur sous la forme *.capy
+ # il faut creer le catalogue developpeur par concatenation de entete,declaration_concepts
+ # et de tous ces fichiers
+ cur_dir = os.getcwd()
+ os.chdir(rep_goal)
+ l_cata_dev = glob.glob('*.capy')
+ if os.path.isfile('cata_developpeur.py') : os.remove('cata_developpeur.py')
+ if len(l_cata_dev) :
+ # des catalogues developpeurs sont effectivement presents : on cree cata_dev.py dans rep_goal
+ str = ''
+ str = str + texte_entete+'\n'
+ for file in l_cata_dev :
+ str = str + open(file,'r').read() +'\n'
+ open('cata_developpeur.py','w+').write(str)
+ os.chdir(cur_dir)
+ except:
+ traceback.print_exc()
+ print ( tr("Impossible de transferer les fichiers requis dans : %s", str(rep_goal)))
+
+def get_entete_cata(fic_cata):
+ """ Retrouve l'entete du catalogue """
+ l_lignes = open(fic_cata,'r').readlines()
+ txt = ''
+ flag = 0
+ for ligne in l_lignes :
+ if re.match(u"# debut entete",ligne) : flag = 1
+ if re.match(u"# fin entete",ligne) : break
+ if not flag : continue
+ txt = txt + ligne
+ return txt
+
+++ /dev/null
-# -*- coding: utf-8 -*-
-# Copyright (C) 2007-2013 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
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-"""
- Ce module contient des utilitaires divers
-"""
-import os,re
-import glob
-import traceback
-import codecs,types
-
-from Extensions.i18n import tr
-
-def substract_list(liste1,liste2):
- """
- Enleve tous les elements de liste2 presents dans liste1 et retourne liste1
- """
- for item in liste2:
- try:
- liste1.remove(item)
- except:
- pass
- return liste1
-
-def get_rep_user(dir):
- """
- Determine sur quelle plate-forme s'execute Eficas et recherche
- le repertoire de l'utilisateur /$home/Eficas_install
- """
-
- rep_user_eficas= os.path.join(os.environ['HOME'],dir)
- if os.path.exists(rep_user_eficas):
- if os.path.isfile(rep_user_eficas) :
- print (tr("Un fichier de nom %s existe deja : impossible de creer un repertoire de meme nom", rep_user_eficas))
- rep_user_eficas=None
- else :
- try:
- os.mkdir(rep_user_eficas)
- except:
- print (tr("Creation du repertoire %s impossible\n Verifiez vos droits d'acces", rep_user_eficas))
- return rep_user_eficas
-
-def read_file(file):
- """
- ouvre le fichier file et retourne son contenu
- si pbe retourne None
- """
- try :
- f=open(file)
- text=f.read()
- f.close()
- return text
- except:
- return None
-
-def save_in_file(file,text,dir=None):
- """
- cree le fichier file (ou l'ecrase s'il existe) et ecrit text dedans
- retourne 1 si OK 0 sinon
- """
- try :
- if dir != None:
- os.chdir(dir)
- f=open(file,'w')
- f.write(text)
- f.close()
- return 1
- except:
- return 0
-
-def extension_fichier(pathAndFile):
- """ Return ext if path/filename.ext is given """
- return os.path.splitext(pathAndFile)[1][1:]
-
-def stripPath(pathAndFile):
- """ Return filename.ext if path/filename.ext is given """
- return os.path.split(pathAndFile)[1]
-
-def init_rep_cata_dev(fic_cata,rep_goal):
- """
- Initialise le repertoire des catalogues developpeurs (chemin d'acces donne
- dans le fichier eficas.ini cad :
- - le cree s'il n'existe pas encore
- - copie dedans les 3 fichiers necessaires :
- * __init__.py (pour que ce repertoire puisse etre interprete comme un package)
- * entete.py (pour realiser les import necessaires a l'interpretation des catalogues)
- * declaration_concepts.py (idem)
- - cree le fichier cata_developpeur.py qui sera par la suite importe
- """
- try :
- if not os.path.isdir(rep_goal) :
- os.mkdir(rep_goal)
- #texte_entete = get_entete_cata(fic_cata)
- texte_entete=""
- # rep_goal doit contenir les catalogues du developpeur sous la forme *.capy
- # il faut creer le catalogue developpeur par concatenation de entete,declaration_concepts
- # et de tous ces fichiers
- cur_dir = os.getcwd()
- os.chdir(rep_goal)
- l_cata_dev = glob.glob('*.capy')
- if os.path.isfile('cata_developpeur.py') : os.remove('cata_developpeur.py')
- if len(l_cata_dev) :
- # des catalogues developpeurs sont effectivement presents : on cree cata_dev.py dans rep_goal
- str = ''
- str = str + texte_entete+'\n'
- for file in l_cata_dev :
- str = str + open(file,'r').read() +'\n'
- open('cata_developpeur.py','w+').write(str)
- os.chdir(cur_dir)
- except:
- traceback.print_exc()
- print ( tr("Impossible de transferer les fichiers requis dans : %s", str(rep_goal)))
-
-def get_entete_cata(fic_cata):
- """ Retrouve l'entete du catalogue """
- l_lignes = open(fic_cata,'r').readlines()
- txt = ''
- flag = 0
- for ligne in l_lignes :
- if re.match(u"# debut entete",ligne) : flag = 1
- if re.match(u"# fin entete",ligne) : break
- if not flag : continue
- txt = txt + ligne
- return txt
-
import os, sys, types, re
import traceback
from PyQt5.QtWidgets import QMessageBox
-from Editeur.utils import read_file
+from Editeur.Eficas_utils import read_file
from Extensions.i18n import tr
+
class CONFIG_BASE(object):
#-------------------------------
from . import browser
from . import readercata
-DictExtensions= {"MAP" : ".map", "TELEMAC" : '.comm'}
+DictExtensions= {"MAP" : ".map", "TELEMAC" : '.cas'}
if jdc==None :
try :
self.jdc = self.readFile(self.fichier)
+ if self.salome : self.appliEficas.addJdcInSalome( self.fichier)
except :
print ("mauvaise lecture")
else :
def determineNomFichier(self,path,extension):
#-----------------------------------------------------#
if self.appli.code in DictExtensions:
- chaine1="JDC (*"+DictExtensions[self.appli.code]+");;"
+ chaine1=DictExtensions[self.appli.code]+" (*."+DictExtensions[self.appli.code]+");;"
extensions= tr(chaine1+ "All Files (*)")
else :
extensions= tr("JDC (*.comm);;" "All Files (*)")
"""
Class implementing the main user interface.
"""
- def __init__(self,code=None,salome=1,parent=None,ssCode=None,multi=False,langue='ang',ssIhm=False):
+ def __init__(self,code=None,salome=1,parent=None,ssCode=None,multi=False,langue='fr',ssIhm=False):
"""
Constructor
"""
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')
- if langue=='fr': self.langue=langue
- else : self.langue="ang"
if self.salome:
import Accas
self.multi=multi
self.demande=multi # specifique PSEN
+ if langue=='fr': self.langue=langue
+ else : self.langue="ang"
if self.multi == False :
self.definitCode(code,ssCode)
- if not self.salome and hasattr (self, 'CONFIGURATION') and hasattr(self.CONFIGURATION,'lang') : langue=self.CONFIGURATION.lang
self.suiteTelemac=False
self.suiteTelemac=self.CONFIGURATION.suiteTelemac
+ if not self.salome and hasattr (self, 'CONFIGURATION') and hasattr(self.CONFIGURATION,'lang') : self.langue=self.CONFIGURATION.lang
from Extensions import localisation
app=QApplication
if hasattr (self, 'CONFIGURATION') : localisation.localise(None,self.langue,translatorFichier=self.CONFIGURATION.translatorFichier)
-
-
self.setupUi(self)
#if parent != None : self.parentCentralWidget = parent.centralWidget()
#else : self.parentCentralWidget = None
self.CONFIGStyle = None
if hasattr(configuration,'make_config_style'):
self.CONFIGStyle = configuration.make_config_style(self,prefsCode.repIni)
- from Extensions import localisation
- app=QApplication
- if hasattr (self, 'CONFIGURATION') : localisation.localise(None,self.langue,translatorFichier=self.CONFIGURATION.translatorFichier)
+ #
+ #from Extensions import localisation
+ #app=QApplication
+ #if hasattr (self, 'CONFIGURATION') : localisation.localise(None,self.langue,translatorFichier=self.CONFIGURATION.translatorFichier)
#PN --> pb d exception qui font planter salome
# plus supporte en python 3
#if hasattr(prefsCode,'encoding'):
if self.appliEficas.code in DictExtensions:
chaine="JDC (*"+DictExtensions[self.appliEficas.code]+");;"
extensions=tr(chaine+ "All Files (*)")
+ elif self.appliEficas.code== "TELEMAC" : extensions=tr('CAS (*.cas);;All Files (*)')
else :
extensions=tr('Fichiers JDC (*.comm);;''Tous les Fichiers (*)')
self.Ordre_Des_Commandes=appli.readercata.Ordre_Des_Commandes
if appli.langue=='fr' :
- from enum_Telemac2d_into import DicoEnumCasFrToEnumCasEn
+ from enum_Telemac2d_auto import DicoEnumCasFrToEnumCasEn
for k in DicoEnumCasFrToEnumCasEn :
TelemacdicoEn[k]=DicoEnumCasFrToEnumCasEn[k]
print (nom)
def convertSIMP(self,obj,nom,valeur):
- #print 'in convertSIMP', nom,valeur
+ #print ('in convertSIMP', nom,valeur)
#if nom in ("PRESCRIBED_FLOWRATES", "PRESCRIBED_VELOCITIES", "PRESCRIBED_ELEVATIONS" ): return
if obj.max==1 :
if hasattr(obj.type[0],'ntuple') :
from .generator_python import PythonGenerator
extensions=('.comm',)
-#if 1:
-try :
- from enum_Telemac2d_auto import TelemacdicoEn
- DicoEnumCasEnInverse={}
- for motClef in TelemacdicoEn:
- d={}
- for valTelemac in TelemacdicoEn[motClef]:
- valEficas= TelemacdicoEn[motClef][valTelemac]
- d[valEficas]=valTelemac
- DicoEnumCasEnInverse[motClef]=d
-
-except :
- pass
self.statut=statut
self.langue=appli.langue
+ if self.langue == 'fr' :
+ from enum_Telemac2d_auto import DicoEnumCasFrToEnumCasEn
+ self.DicoEnumCasEnInverse={}
+ for motClef in DicoEnumCasFrToEnumCasEn:
+ d={}
+ for valTelemac in DicoEnumCasFrToEnumCasEn[motClef]:
+ valEficas= DicoEnumCasFrToEnumCasEn[motClef][valTelemac]
+ d[valEficas]=valTelemac
+ self.DicoEnumCasEnInverse[motClef]=d
+ else :
+ try :
+ from enum_Telemac2d_auto import TelemacdicoEn
+ self.DicoEnumCasEnInverse={}
+ for motClef in TelemacdicoEn:
+ d={}
+ for valTelemac in TelemacdicoEn[motClef]:
+ valEficas= TelemacdicoEn[motClef][valTelemac]
+ d[valEficas]=valTelemac
+ self.DicoEnumCasEnInverse[motClef]=d
+ except :
+ pass
self.initDico()
# Pour Simplifier les verifs d ecriture
if hasattr(appli,'listeTelemac') : self.listeTelemac=appli.listeTelemac
sTelemac=s[0:-1]
if not( type(obj.valeur) in (tuple,list) ):
- if obj.nom in DicoEnumCasEnInverse:
- try : sTelemac=str(DicoEnumCasEnInverse[obj.nom][obj.valeur])
+ if obj.nom in self.DicoEnumCasEnInverse:
+ try : sTelemac=str(self.DicoEnumCasEnInverse[obj.nom][obj.valeur])
except :
if obj.valeur==None : sTelemac=obj.valeur
else : print(("generMCSIMP Pb valeur avec ", obj.nom, obj.valeur))
if type(obj.valeur) in (tuple,list) :
- if obj.nom in DicoEnumCasEnInverse:
+ if obj.nom in self.DicoEnumCasEnInverse:
#sT = "'"
sT=''
for v in obj.valeur:
- try : sT +=str(DicoEnumCasEnInverse[obj.nom][v]) +";"
+ try : sT +=str(self.DicoEnumCasEnInverse[obj.nom][v]) +";"
except :
if obj.definition.intoSug != [] : sT +=str(v) + ";"
else : print(("generMCSIMP Pb Tuple avec ", obj.nom, v, obj.valeur))
if c.nom[0:18] == 'Type_Of_Advection_' and c.valeur!=None:
suf=c.nom[18:]
index=dicoSuf[suf]
- listeAdvection[index]=DicoEnumCasEnInverse['Type_Of_Advection'][c.valeur]
+ listeAdvection[index]=self.DicoEnumCasEnInverse['Type_Of_Advection'][c.valeur]
if c.nom[0:13] == 'Supg_Option_' and c.valeur!=None:
suf=c.nom[13:]
index=dicoSuf[suf]
- listeAdvection[index]=DicoEnumCasEnInverse['Supg_Option'][c.valeur]
+ listeAdvection[index]=self.DicoEnumCasEnInverse['Supg_Option'][c.valeur]
if c.nom[0:23] == 'Upwind_Coefficients_Of_' and c.valeur!=None:
suf=c.nom[23:]
index=dicoSuf[suf]