1 # -*- coding: utf-8 -*-
2 # CONFIGURATION MANAGEMENT OF EDF VERSION
3 # ======================================================================
4 # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
5 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8 # (AT YOUR OPTION) ANY LATER VERSION.
10 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
11 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
12 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
13 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
15 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
16 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
17 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20 # ======================================================================
22 Ce module sert pour charger les paramètres de configuration d'EFICAS
25 print "passage dans la surcharge de configuration pour OTW"
26 import os, sys, string, types, re
28 from PyQt4.QtGui import *
31 from Editeur import utils
35 #-----------------------------------
36 def __init__(self,appli,repIni):
37 #-----------------------------------
39 # Classe de base permettant de lire, afficher
40 # et sauvegarder les fichiers utilisateurs
41 # On a deux directories : la directory generale (Repertoire d instal + Nom du code
42 # Par exemple : ~/Install_Eficas/EficasV1_14/Openturns_Wrapper
43 # et la directorie de l utilisateur
44 # HOME/.Eficas_Openturns
45 # Le fichier prefs.py va etre lu dans la directory generale puis surcharge eventuellement
46 # par celui de l utilisateur
47 # le fichier de catalogue va etre lu dans la directory de l utilisateur s il exite
48 # dans le fichier general sinon
50 self.code = appli.code
51 self.salome = appli.salome
53 self.fic_prefs ="prefs.py"
57 #self.appli.format_fichier="openturns_study"
58 else: self.parent=None
61 self.labels=("OpenTURNS_path","rep_user","INSTALLDIR","path_doc","exec_acrobat","rep_cata","initialdir","savedir")
64 self.rep_user = os.path.join(os.environ['HOME'],'.Eficas_Openturns')
65 self.initialdir = self.rep_user
66 self.path_doc = self.rep_user
67 self.savedir = self.rep_user
68 self.exec_acrobat = self.rep_user
70 #Lecture des fichiers utilisateurs
71 self.lecture_fichier_ini_standard()
72 self.lecture_fichier_ini_utilisateur()
73 self.lecture_catalogues()
76 #--------------------------------------
77 def lecture_fichier_ini_standard(self):
78 #--------------------------------------
79 # Verifie l'existence du fichier "standard"
80 # appelle la lecture de ce fichier
81 self.fic_ini = os.path.join(self.repIni,self.fic_prefs)
82 if not os.path.isfile(self.fic_ini):
83 QMessageBox.critical( None, "Import du fichier de Configuration",
84 "Erreur à la lecture du fichier de configuration "+self.fic_ini+".py" )
87 for k in self.labels :
89 valeur=getattr(prefs,k)
90 setattr(self,k,valeur)
95 #--------------------------------------
96 def lecture_fichier_ini_utilisateur(self):
97 #--------------------------------------
98 # Surcharge les paramètres standards par les paramètres utilisateur s'ils existent
99 self.fic_ini_utilisateur = os.path.join(self.rep_user,self.fic_prefs)
100 #if not os.path.isfile(self.fic_ini_utilisateur+".py"):
101 if not os.path.isfile(self.fic_ini_utilisateur):
103 from utils import read_file
104 txt = utils.read_file(self.fic_ini_utilisateur)
105 from styles import style
110 l=traceback.format_exception(sys.exc_info()[0],sys.exc_info()[1],sys.exc_info()[2])
111 QMessageBox.critical( None, "Import du fichier de Configuration",
112 "Erreur à la lecture du fichier de configuration " + self.fic_ini_utilisateur )
114 for k in self.labels :
122 #--------------------------------------
123 def lecture_catalogues(self):
124 #--------------------------------------
125 rep_mat=" " # Compatbilite Aster
126 fic_cata ="catalogues_openturns.ini"
127 fic_ini = os.path.join(self.repIni,fic_cata)
128 fic_user= os.path.join(self.rep_user,fic_cata)
129 if os.path.isfile(fic_user):
133 if not os.path.isfile(fic_ini) :
134 QMessageBox.critical( None, "Erreur a l'import du fichier des Catalogues",
135 "Le fichier de configuration des catalogues "+fic_ini+" n a pas été trouvé" )
138 from utils import read_file
139 txt = utils.read_file(fichier)
143 self.catalogues=d["catalogues"]
145 l=traceback.format_exception(sys.exc_info()[0],sys.exc_info()[1],sys.exc_info()[2])
146 QMessageBox.critical( None, "Import du fichier de Configuration",
147 "Erreur à la lecture du fichier de configuration " + fichier )
152 #--------------------------------------
153 def save_params(self):
154 #--------------------------------------
156 # les nouveaux paramètres dans le fichier de configuration utilisateur
158 print "a ecrire PNPNPN"
159 # l_param=('exec_acrobat', 'repIni','catalogues','rep_travail','rep_mat','path_doc')
161 # for clef in l_param :
162 # if hasattr(self,clef):
163 # valeur=getattr(self,clef)
164 # texte= texte + clef+" = " + repr(valeur) +"\n"
167 # # recuperation des repertoires materiaux
169 # for item in self.catalogues :
171 # (code,version,cata,format,defaut)=item
173 # (code,version,cata,format)=item
174 # codeSansPoint=re.sub("\.","",version)
175 # chaine="rep_mat_"+codeSansPoint
176 # if hasattr(self,chaine):
177 # valeur=getattr(self,chaine)
178 # texte= texte + chaine+" = '" + str(valeur) +"'\n"
182 # f=open(self.fic_ini_utilisateur,'w+')
188 def make_config(appli,rep):
189 return CONFIG(appli,rep)
191 def make_config_style(appli,rep):