+# 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.
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):
for arg in liste :
l.append(arg)
else:
- # on a 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
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):
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 + ','
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):
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 + ','