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 permet de lancer l'application EFICAS en affichant
23 un ecran Splash pour faire patentier l'utilisateur
30 from Editeur import import_code
31 from Editeur import session
33 name='prefs_'+prefs.code
34 prefsCode=__import__(name)
38 from Editeur.utils import extension_fichier,stripPath, save_in_file
42 def __init__(self,code):
45 self.format_fichier="python"
46 self.version_code=None
51 import configuration_ASTER
53 self.CONFIGURATION=configuration_ASTER.make_config(self,prefsCode.REPINI)
55 self.load_readercata()
56 self.cata=self.readercata.cata
62 def load_readercata(self):
64 module=__import__(mname,globals(),locals())
65 factory=getattr(module,mname.upper())
66 appli_composant=factory(self,self.top)
67 setattr(self,mname,appli_composant)
70 def openJDC(self,fichier):
72 self.fichier = fichier
73 e=extension_fichier(fichier)
74 self.JDCName=stripPath(fichier)
75 self.savedir = os.path.dirname(os.path.abspath(fichier))
79 format=self.format_fichier
80 # Il faut convertir le contenu du fichier en fonction du format
81 if convert.plugins.has_key(format):
82 # Le convertisseur existe on l'utilise
83 p=convert.plugins[format]()
85 text=p.convert('exec',self)
86 if not p.cr.estvide():
87 print ("Erreur à la conversion")
91 # On se met dans le repertoire ou se trouve le fichier de commandes
92 # pour trouver les eventuels fichiers include ou autres
93 # localises a cote du fichier de commandes
94 os.chdir(self.savedir)
95 CONTEXT.unset_current_step()
96 J=self.cata[0].JdC(procedure=text,appli=self,
97 cata=self.cata,cata_ord_dico=self.readercata.cata_ordonne_dico,
99 rep_mat=self.CONFIGURATION.rep_mat,
104 txt_exception = J.cr.get_mess_exception()
106 # des exceptions ont été levées à la création du JDC
107 # --> on affiche les erreurs mais pas le JDC
109 print("Erreur fatale au chargement de %s" %file)
113 def modifieJDC(self,texte):
114 if texte == None or texte == "" : return
116 lignes=string.split(texte,";")
119 textedecoup=textedecoup+l+'\n'
120 if convert.plugins.has_key(format):
121 p=convert.plugins[format]()
122 p.settext(textedecoup)
123 text=p.convert('exec',self)
124 if not p.cr.estvide():
125 print ("Erreur à la conversion")
128 self.J2=self.cata[0].JdC(procedure=text,appli=self,
130 cata_ord_dico=self.readercata.cata_ordonne_dico,
131 nom = self.JDCName+"2",
132 rep_mat=self.CONFIGURATION.rep_mat,
134 self.J2.definition.code = "MODIF"
138 def saveJDC(self,fichierSortie):
140 Sauvegarde le JDC courant.
141 Retourne 1 si la sauvegarde s'est bien faite, 0 sinon.
143 if not hasattr(self,'JDC') : return 0
147 if generator.plugins.has_key(format):
148 g=generator.plugins[format]()
149 jdc_formate=g.genermodifparam(self.JDC,self.J2)
150 if not g.cr.estvide():
151 self.affiche_infos("Erreur à la generation")
154 self.affiche_infos("Format %s non reconnu" % format)
157 self.jdc_fini = string.replace(jdc_formate,'\r\n','\n')
159 if not save_in_file(fichierSortie,self.jdc_fini) :
160 self.affiche_infos("Problème à la sauvegarde du fichier")
163 self.affiche_infos("sauvegarde effectuée")
167 def affiche_infos(self,mess):