]> SALOME platform Git repositories - tools/eficas.git/blobdiff - generator/generator_openturns_wrapper.py
Salome HOME
onItem=Deplie
[tools/eficas.git] / generator / generator_openturns_wrapper.py
index 5720bfb41929ad5a61b8fd48a00578f9995b8fc2..bf0d063db9e891c2e5360178ec1c16e0c7ae49d7 100644 (file)
@@ -1,23 +1,22 @@
 # -*- coding: utf-8 -*-
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
-# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
-# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
-# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
-# (AT YOUR OPTION) ANY LATER VERSION.
+# Copyright (C) 2007-2013   EDF R&D
 #
-# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
-# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
-# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
-# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
 #
-# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
-# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
-#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
 #
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-# ======================================================================
 """
     Ce module contient le plugin generateur de fichier au format 
     openturns pour EFICAS.
@@ -25,6 +24,8 @@
 """
 import traceback
 import types,string,re
+from Extensions.i18n import tr
+
 
 from generator_python import PythonGenerator
 from OpenturnsBase import Generateur 
@@ -69,7 +70,7 @@ class OpenturnsGenerator(PythonGenerator):
        """
        self.wrapperXML=None
 
-   def gener(self,obj,format='brut'):
+   def gener(self,obj,format='brut',config=None):
        #print "IDM: gener dans generator_openturns_wrapper.py"
        self.initDico()
        self.text=PythonGenerator.gener(self,obj,format)
@@ -83,10 +84,14 @@ class OpenturnsGenerator(PythonGenerator):
        Remplit le dictionnaire des MCSIMP si nous ne sommes ni dans une loi, ni dans une variable
        """
        s=PythonGenerator.generMCSIMP(self,obj)
+       if not( type(obj.valeur) in (list, tuple)) and (obj.get_min_max()[1] != 1):
+          valeur=(obj.valeur,)
+       else :
+          valeur=obj.valeur
        if self.traiteMCSIMP == 1 : 
-          self.dictMCVal[obj.nom]=obj.val
+          self.dictMCVal[obj.nom]=valeur
        else :
-          self.dictTempo[obj.nom]=obj.valeur
+          self.dictTempo[obj.nom]=valeur
        return s
 
    def generETAPE(self,obj):
@@ -109,7 +114,6 @@ class OpenturnsGenerator(PythonGenerator):
    def generMCFACT(self,obj):
        # Il n est pas possible d utiliser obj.valeur qui n est pas 
        # a jour pour les nouvelles variables ou les modifications 
-       #print "generMCFACT" , obj.nom
        if obj.nom in ( "Files", ) :
           self.traiteMCSIMP=0
          self.dictTempo={}
@@ -119,20 +123,20 @@ class OpenturnsGenerator(PythonGenerator):
        return s
 
    def genereXML(self):
-       #print "IDM: genereXML dans generator_openturns_wrapper.py"
+       print "IDM: genereXML dans generator_openturns_wrapper.py"
        #print "appli.CONFIGURATION=",self.appli.CONFIGURATION.__dict__
        if self.listeFichiers != [] :
           self.dictMCVal["Files"]=self.listeFichiers
        print "dictMCVal", self.dictMCVal, "dictVariables", self.dictVariables
        MonBaseGenerateur=Generateur(self.appli,self.dictMCVal, [], {} ,self.dictVariables)
        MonGenerateur=MonBaseGenerateur.getXMLGenerateur()
-       #try :
-       if 1== 1 :
+       try :
+       #if 1== 1 :
           self.wrapperXML=MonGenerateur.CreeXML()
-       #except :
-       else :
+       except :
+       #else :
          self.wrapperXML=None
 
-   def writeOpenturnsXML(self, filename):
-      self.wrapperXML.writeFile( str(filename) )
-
+   def writeDefault(self, filename):
+      fileXML = filename[:filename.rfind(".")] + '.xml'
+      self.wrapperXML.writeFile( str(fileXML) )