Salome HOME
PN : correction du point 1 de la fiche de bug A02003-188
[tools/eficas.git] / generator / generator_python.py
index 87c55ca543f868cb0806d255fd6cefb48b62e8c3..9f83fd1afb826910fff15d9bed2e6bb83257d4af 100644 (file)
@@ -205,10 +205,18 @@ class PythonGenerator:
          Cette méthode convertit un COMMENTAIRE
          en une liste de chaines de caractères à la syntaxe python
       """
-      l_lignes = string.split(obj.valeur,'\n')
+      # modification pour répondre à la demande de C. Durand, d'éviter
+      # l'ajout systématique d'un dièse, à la suite du commentaire
+      # Dans la chaine de caracteres obj.valeur, on supprime le dernier
+      # saut de ligne
+      sans_saut = re.sub("\n$","",obj.valeur)
+      l_lignes = string.split(sans_saut,'\n')
       txt=''
       for ligne in l_lignes:
         txt = txt + '#'+ligne+'\n'
+
+      # suppression du dernier saut de ligne
+      txt = re.sub("\n$","",txt)
       return txt
 
    def generPARAMETRE_EVAL(self,obj):
@@ -412,7 +420,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 
@@ -482,6 +490,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 + ','
@@ -504,9 +516,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 + ','