Salome HOME
CCAR: coorection de la prise de focus pour les mots cles simples et la liste des
[tools/eficas.git] / generator / generator_python.py
index 6220c818ad9a0e74ff0d2bcd7815be2127cda33c..fe631f22fcca3b88ea7cb8711e5e3fc0adceef02 100644 (file)
@@ -1,3 +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.
+#
+# 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.
+#
+# 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.
+#
+#
+# ======================================================================
 """
     Ce module contient le plugin generateur de fichier au format 
     python pour EFICAS.
@@ -393,7 +412,7 @@ class PythonGenerator:
            for arg in liste :
              l.append(arg)
          else:
-           # on est en présence d'un MCSIMP : on récupère une string
+           # on est en présence d'un MCSIMP : on récupère une string
            text =self.generator(v)
            l.append(v.nom+'='+text)
       # il faut être plus subtil dans l'ajout de la virgule en différenciant 
@@ -453,6 +472,8 @@ class PythonGenerator:
             if hasattr(obj.etape,'sdprods'):
                if val in obj.etape.sdprods :
                   s = s + "CO('"+ self.generator(val) +"')"
+               elif val.__class__.__name__ == 'CO':
+                  s = s + "CO('"+ self.generator(val) +"')"
                else:
                   s = s + self.generator(val)
             elif isinstance(val,PARAMETRE):
@@ -461,6 +482,10 @@ class PythonGenerator:
                s = s + val.nom
             else:
                s = s + self.generator(val)
+          elif type(val) == types.FloatType :
+            # Pour un flottant on utilise str qui a une precision de
+            # "seulement" 12 chiffres : evite les flottants du genre 0.599999999999998
+            s = s + str(val)
           else :
             s = s + `val`
           s = s + ','
@@ -472,6 +497,8 @@ class PythonGenerator:
           if hasattr(obj.etape,'sdprods'):
              if val in obj.etape.sdprods :
                 s = "CO('"+ self.generator(val) +"')"
+             elif val.__class__.__name__ == 'CO':
+                s = "CO('"+ self.generator(val) +"')"
              else:
                 s = self.generator(val)
           elif isinstance(val,PARAMETRE):
@@ -481,9 +508,8 @@ class PythonGenerator:
           else:
              s = self.generator(val)
         elif type(val) == types.FloatType :
-          # Pour un réel on fait un formattage spécial
-          # XXX bizarrement ce n'est pas fait pour une liste
-          s = repr_float(val)
+          #s = repr_float(val)
+          s = str(val)
         else :
           s = `val`
         s= s + ','