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 Homard"
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/Homard
43 # et la directorie de l utilisateur
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 else: self.parent=None
60 self.labels=("rep_user","INSTALLDIR","path_doc","exec_acrobat","rep_cata","initialdir","savedir")
63 self.rep_user = os.path.join(os.environ['HOME'],'.Eficas_Homard')
64 self.initialdir = self.rep_user
65 self.path_doc = self.rep_user
66 self.savedir = self.rep_user
67 self.exec_acrobat = self.rep_user
69 #Lecture des fichiers utilisateurs
70 self.lecture_fichier_ini_standard()
71 self.lecture_fichier_ini_utilisateur()
72 self.lecture_catalogues()
75 #--------------------------------------
76 def lecture_fichier_ini_standard(self):
77 #--------------------------------------
78 # Verifie l'existence du fichier "standard"
79 # appelle la lecture de ce fichier
80 self.fic_ini = os.path.join(self.repIni,self.fic_prefs)
81 if not os.path.isfile(self.fic_ini):
82 QMessageBox.critical( None, "Import du fichier de Configuration",
83 "Erreur à la lecture du fichier de configuration "+self.fic_ini+".py" )
86 for k in self.labels :
88 valeur=getattr(prefs,k)
89 setattr(self,k,valeur)
94 #--------------------------------------
95 def lecture_fichier_ini_utilisateur(self):
96 #--------------------------------------
97 # Surcharge les paramètres standards par les paramètres utilisateur s'ils existent
98 self.fic_ini_utilisateur = os.path.join(self.rep_user,self.fic_prefs)
99 #if not os.path.isfile(self.fic_ini_utilisateur+".py"):
100 if not os.path.isfile(self.fic_ini_utilisateur):
102 from utils import read_file
103 txt = utils.read_file(self.fic_ini_utilisateur)
104 from styles import style
109 l=traceback.format_exception(sys.exc_info()[0],sys.exc_info()[1],sys.exc_info()[2])
110 QMessageBox.critical( None, "Import du fichier de Configuration",
111 "Erreur à la lecture du fichier de configuration " + self.fic_ini_utilisateur )
113 for k in self.labels :
121 #--------------------------------------
122 def lecture_catalogues(self):
123 #--------------------------------------
124 rep_mat=" " # Compatbilite Aster
125 fic_cata ="catalogues_homard.ini"
126 fic_ini = os.path.join(self.repIni,fic_cata)
127 fic_user= os.path.join(self.rep_user,fic_cata)
128 if os.path.isfile(fic_user):
132 if not os.path.isfile(fic_ini) :
133 QMessageBox.critical( None, "Erreur a l'import du fichier des Catalogues",
134 "Le fichier de configuration des catalogues "+fic_ini+" n a pas été trouvé" )
137 from utils import read_file
138 txt = utils.read_file(fichier)
142 self.catalogues=d["catalogues"]
144 l=traceback.format_exception(sys.exc_info()[0],sys.exc_info()[1],sys.exc_info()[2])
145 QMessageBox.critical( None, "Import du fichier de Configuration",
146 "Erreur à la lecture du fichier de configuration " + fichier )
151 #--------------------------------------
152 def save_params(self):
153 #--------------------------------------
155 # les nouveaux paramètres dans le fichier de configuration utilisateur
157 print "a ecrire PNPNPN"
158 # l_param=('exec_acrobat', 'repIni','catalogues','rep_travail','rep_mat','path_doc')
160 # for clef in l_param :
161 # if hasattr(self,clef):
162 # valeur=getattr(self,clef)
163 # texte= texte + clef+" = " + repr(valeur) +"\n"
166 # # recuperation des repertoires materiaux
168 # for item in self.catalogues :
170 # (code,version,cata,format,defaut)=item
172 # (code,version,cata,format)=item
173 # codeSansPoint=re.sub("\.","",version)
174 # chaine="rep_mat_"+codeSansPoint
175 # if hasattr(self,chaine):
176 # valeur=getattr(self,chaine)
177 # texte= texte + chaine+" = '" + str(valeur) +"'\n"
181 # f=open(self.fic_ini_utilisateur,'w+')
187 def make_config(appli,rep):
188 return CONFIG(appli,rep)
190 def make_config_style(appli,rep):