import Accas
import Extensions
from Extensions.parametre import ITEM_PARAMETRE
-from Formatage import Formatage
+from Formatage import Formatage
+from Formatage import FormatageLigne
from Extensions.param2 import Formula
+from Extensions.eficas_exception import EficasException
+from Extensions.i18n import tr
+
def entryPoint():
"""
fp.write(self.text)
fp.close()
- def gener(self,obj,format='brut',config=None):
+ def gener(self,obj,format='brut',config=None,appli=None):
"""
Retourne une representation du JDC obj sous une
forme qui est parametree par format.
elif format == 'beautifie':
jdc_formate = Formatage(liste,mode='.py')
self.text=jdc_formate.formate_jdc()
+ elif format == 'Ligne':
+ jdc_formate = FormatageLigne(liste,mode='.py')
+ self.text=jdc_formate.formate_jdc()
else:
- raise "Format pas implemente : "+format
+ raise EficasException(tr("Format non implemente ") +format)
return self.text
def generator(self,obj):
elif isinstance(obj,Formula):
return self.generFormula(obj)
else:
- raise "Type d'objet non prevu",obj
+ raise EficasException(tr("Type d'objet non prevu") +obj)
def generJDC(self,obj):
"""
else:
# on est en presence d'un MCSIMP : on recupere une string
text =self.generator(v)
- l.append(v.nom+'='+text)
- if obj.nom=="Observers": print l
+ if v.nom != "Consigne" : l.append(v.nom+'='+text)
# il faut etre plus subtil dans l'ajout de la virgule en differenciant
# le cas ou elle est obligatoire (si self a des freres cadets
# dans self.parent) ou non
"""
if len(obj.data) > 1:
l=['(']
- for mcfact in obj.data:
- l.append(self.generator(mcfact))
+ for mcfact in obj.data: l.append(self.generator(mcfact))
l.append('),')
else:
l= self.generator(obj.data[0])
return l
- def format_item(self,valeur,etape,obj):
+ def format_item(self,valeur,etape,obj,vientDeListe=0):
if (type(valeur) == types.FloatType or 'R' in obj.definition.type) and not(isinstance(valeur,Accas.PARAMETRE)) :
- # Pour un flottant on utilise str
+ # Pour un flottant on utilise str ou repr si on vient d une liste
# ou la notation scientifique
# On ajoute un . si il n y en a pas dans la valeur
s = str(valeur)
+ if vientDeListe and repr(valeur) != str(valeur) : s=repr(valeur)
if (s.find('.')== -1 and s.find('e')== -1 and s.find('E')==-1) : s=s+'.0'
clefobj=etape.get_sdname()
if self.appli.appliEficas and self.appli.appliEficas.dict_reels.has_key(clefobj):
# mais seulement le nom dans le cas d'un parametre
# s = valeur.nom
# else:
- # print valeur
# s = self.generator(valeur)
else :
break
if waitTuple :
- s = str(obj.valeur) +','
- obj.valeurFormatee=obj.valeur
+ #s = str(obj.valeur) +','
+ #obj.valeurFormatee=obj.valeur
+ s = obj.GetText() +','
+ obj.valeurFormatee=obj.GetText()
else :
obj.valeurFormatee=[]
for val in obj.valeur :
- s =s +self.format_item(val,obj.etape,obj) + ','
- obj.valeurFormatee.append(self.format_item(val,obj.etape,obj))
- if len(obj.valeur) > 1:
+ s =s +self.format_item(val,obj.etape,obj,1) + ','
+ if obj.wait_TXM() :
+ obj.valeurFormatee.append(val)
+ else :
+ obj.valeurFormatee.append(self.format_item(val,obj.etape,obj))
+ if len(obj.valeur) >= 1:
s = '(' + s + '),'
- if obj.valeur==[] : s="(),"
+ if obj.valeur==[] or obj.valeur==() : s="(),"
if obj.nbrColonnes() :
s=self.formatColonnes(obj.nbrColonnes(),obj.valeur,obj)
else :
def formatColonnes(self,nbrColonnes,listeValeurs,obj):
#try :
- print listeValeurs
if 1 == 1 :
indice=0
textformat="("
#except :
else :
textformat=str(obj.valeur)
- print textformat
return textformat