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
36 from utils import extension_fichier,stripPath, save_in_file
40 def __init__(self,code):
43 self.format_fichier="python"
44 self.version_code=None
50 self.CONFIGURATION=configuration.make_config(self,prefs.REPINI)
52 self.load_readercata()
53 self.cata=self.readercata.cata
59 def load_readercata(self):
61 module=__import__(mname,globals(),locals())
62 factory=getattr(module,mname.upper())
63 appli_composant=factory(self,self.top)
64 setattr(self,mname,appli_composant)
67 def openJDC(self,fichier):
69 self.fichier = fichier
70 e=extension_fichier(fichier)
71 self.JDCName=stripPath(fichier)
72 self.initialdir = os.path.dirname(os.path.abspath(fichier))
76 format=self.format_fichier
77 # Il faut convertir le contenu du fichier en fonction du format
78 if convert.plugins.has_key(format):
79 # Le convertisseur existe on l'utilise
80 p=convert.plugins[format]()
82 text=p.convert('exec',self)
83 if not p.cr.estvide():
84 print ("Erreur à la conversion")
88 # On se met dans le repertoire ou se trouve le fichier de commandes
89 # pour trouver les eventuels fichiers include ou autres
90 # localises a cote du fichier de commandes
91 os.chdir(self.initialdir)
92 CONTEXT.unset_current_step()
93 J=self.cata[0].JdC(procedure=text,appli=self,
94 cata=self.cata,cata_ord_dico=self.readercata.cata_ordonne_dico,
96 rep_mat=self.CONFIGURATION.rep_mat,
101 txt_exception = J.cr.get_mess_exception()
103 # des exceptions ont été levées à la création du JDC
104 # --> on affiche les erreurs mais pas le JDC
106 print("Erreur fatale au chargement de %s" %file)
110 def modifieJDC(self,texte):
111 if texte == None or texte == "" : return
113 lignes=string.split(texte,";")
116 textedecoup=textedecoup+l+'\n'
117 if convert.plugins.has_key(format):
118 p=convert.plugins[format]()
119 p.settext(textedecoup)
120 text=p.convert('exec',self)
122 if not p.cr.estvide():
123 print ("Erreur à la conversion")
126 self.J2=self.cata[0].JdC(procedure=text,appli=self,
128 cata_ord_dico=self.readercata.cata_ordonne_dico,
129 nom = self.JDCName+"2",
130 rep_mat=self.CONFIGURATION.rep_mat,
132 self.J2.definition.code = "MODIF"
136 def saveJDC(self,fichierSortie):
138 Sauvegarde le JDC courant.
139 Retourne 1 si la sauvegarde s'est bien faite, 0 sinon.
141 if not hasattr(self,'JDC') : return 0
145 if generator.plugins.has_key(format):
146 g=generator.plugins[format]()
147 jdc_formate=g.genermodifparam(self.JDC,self.J2)
148 if not g.cr.estvide():
149 self.affiche_infos("Erreur à la generation")
152 self.affiche_infos("Format %s non reconnu" % format)
155 self.jdc_fini = string.replace(jdc_formate,'\r\n','\n')
157 if not save_in_file(fichierSortie,self.jdc_fini) :
158 self.affiche_infos("Problème à la sauvegarde du fichier")
161 self.affiche_infos("sauvegarde effectuée")
165 def affiche_infos(self,mess):