Salome HOME
7.7 rc0
[tools/eficas.git] / generator / generator_aplat.py
index 25c3265f04e7f290ad9c40fbceb30bbaaf3e2ec7..2935310bd87196ccf057ffe734bd61e305fb44b7 100644 (file)
@@ -1,22 +1,22 @@
-#            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.
+# -*- coding: utf-8 -*-
+# 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 
     aplat pour EFICAS.
@@ -24,6 +24,8 @@
 """
 import traceback
 import types,string,re
+from Extensions.i18n import tr
+from Extensions.eficas_exception import EficasException
 
 from Noyau import N_CR
 from Noyau.N_utils import repr_float
@@ -59,8 +61,7 @@ class AplatGenerator:
 
        Ses caractéristiques principales sont exposées dans des attributs 
        de classe :
-
-       - extensions : qui donne une liste d'extensions de fichier préconisées
+         - extensions : qui donne une liste d'extensions de fichier préconisées
 
    """
    # Les extensions de fichier préconisées
@@ -84,12 +85,10 @@ class AplatGenerator:
       fp.write(self.text)
       fp.close()
 
-   def gener(self,obj,format='brut'):
+   def gener(self,obj,format='brut',config=None):
       """
-          Retourne une représentation du JDC obj sous une
-          forme qui est paramétrée par format.
-          Si format vaut 'brut', 'standard' ou 'beautifie', retourne le texte issu
-                       de generator
+          Retourne une représentation du JDC obj sous une forme qui est paramétrée par format.
+          Si format vaut 'brut', 'standard' ou 'beautifie', retourne le texte issu de generator
       """
       liste= self.generator(obj)
       if format == 'brut':
@@ -99,7 +98,7 @@ class AplatGenerator:
       elif format == 'beautifie':
          self.text=liste
       else:
-         raise "Format pas implémenté : "+format
+        raise EficasException(tr("Format pas implemente : %s", format))
       return self.text
 
    def generator(self,obj):
@@ -145,7 +144,8 @@ class AplatGenerator:
       elif isinstance(obj,MCNUPLET):
          return self.generMCNUPLET(obj)
       else:
-         raise "Type d'objet non prévu",obj
+         raise EficasException(tr("Format non implemente : %s", format))
+
 
    def generJDC(self,obj):
       """
@@ -208,7 +208,9 @@ class AplatGenerator:
          en une chaine de caractères à la syntaxe aplat 
       """
       if type(obj.valeur) == types.StringType:
-        return obj.nom + " = '" + obj.valeur + "';\n"
+        # PN pour corriger le bug a='3+4' au lieu de a= 3+4
+        #return obj.nom + " = '" + obj.valeur + "';\n"
+        return obj.nom + " = " + obj.valeur + ";\n"
       else:
         return obj.nom + ' = ' + str(obj.valeur) + ';\n'