1 # -*- coding: utf-8 -*-
2 # Copyright (C) 2007-2013 EDF R&D
4 # This library is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU Lesser General Public
6 # License as published by the Free Software Foundation; either
7 # version 2.1 of the License.
9 # This library is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 # Lesser General Public License for more details.
14 # You should have received a copy of the GNU Lesser General Public
15 # License along with this library; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 Ce module contient le plugin generateur de fichier au format
22 openturns pour EFICAS.
26 import types,string,re
27 from Extensions.i18n import tr
30 from generator_python import PythonGenerator
31 from OpenturnsBase import Generateur
32 #from OpenturnsXML import XMLGenerateur
33 #from OpenturnsSTD import STDGenerateur
37 Retourne les informations necessaires pour le chargeur de plugins
39 Ces informations sont retournees dans un dictionnaire
44 # La factory pour creer une instance du plugin
45 'factory' : OpenturnsGenerator,
49 class OpenturnsGenerator(PythonGenerator):
51 Ce generateur parcourt un objet de type JDC et produit
52 un texte au format eficas et
53 un texte au format xml
56 # Les extensions de fichier permis?
61 self.listeVariables=[]
67 def gener(self,obj,format='brut',config=None):
68 #print "IDM: gener dans generator_openturns.py"
70 self.text=PythonGenerator.gener(self,obj,format)
75 def generMCSIMP(self,obj) :
77 Convertit un objet MCSIMP en texte python
78 Remplit le dictionnaire des MCSIMP si nous ne sommes pas ni dans une loi, ni dans une variable
80 s=PythonGenerator.generMCSIMP(self,obj)
81 if self.TraiteMCSIMP == 1 :
82 self.dictMCVal[obj.nom]=obj.valeur
84 self.dictTempo[obj.nom]=obj.valeur
87 def generMCFACT(self,obj):
88 # Il n est pas possible d utiliser obj.valeur qui n est pas
89 # a jour pour les nouvelles variables ou les modifications
90 if obj.nom == "Variables" or "Files":
93 s=PythonGenerator.generMCFACT(self,obj)
94 if obj.nom == "Variables" :
95 self.listeVariables.append(self.dictTempo)
98 self.listeFichiers.append(self.dictTempo)
102 def generETAPE(self,obj):
103 if obj.nom == "DISTRIBUTION" :
106 s=PythonGenerator.generETAPE(self,obj)
107 if obj.nom == "DISTRIBUTION" :
108 self.dictMCLois[obj.sd]=self.dictTempo
114 #print "IDM: genereXML dans generator_openturns.py"
115 if self.listeFichiers != [] :
116 self.dictMCVal["exchange_file"]=self.listeFichiers
117 MonBaseGenerateur=Generateur(self.dictMCVal, self.listeVariables, self.dictMCLois)
118 MonGenerateur=MonBaseGenerateur.getXMLGenerateur()
121 self.texteXML=MonGenerateur.CreeXML()
124 self.texteXML=tr("Il y a un pb a la Creation du XML")
127 MonBaseGenerateur=Generateur(self.dictMCVal, self.listeVariables, self.dictMCLois)
128 MonGenerateur=MonBaseGenerateur.getSTDGenerateur()
131 self.texteSTD=MonGenerateur.CreeSTD()
134 self.texteSTD=tr("Il y a un pb a la Creation du STD")
136 def getOpenturnsXML(self):
139 def getOpenturnsSTD(self):