#if hasattr(self.editor, 'affichage_onglet' ) :self.affichage_onglet=self.editor.affichage_onglet
#else : self.affichage_onglet=False
-
- name = self.appliEficas.trUtf8( str( item.GetLabelText()[0] ) )
- value = self.appliEficas.trUtf8( str( item.GetText() ) )
+ name = self.appliEficas.trUtf8( item.GetLabelText()[0] )
+ value = self.appliEficas.trUtf8( item.GetText() )
mesColonnes=QStringList()
mesColonnes << name << value
QTreeWidgetItem.__init__(self,treeParent,mesColonnes)
"""
Cette methode a pour but de commentariser la commande pointee par self
"""
- # On traite par une exception le cas ou l'utilisateur final cherche a désactiver
+ # On traite par une exception le cas où l'utilisateur final cherche à désactiver
# (commentariser) un commentaire.
try :
pos=self.treeParent.children.index(self)
child=old_obj[-1]
child.affichePanneau()
except:
- # Souci pour gerer les copies des AFFE d'une commande à l autre
+ # Souci pour gérer les copies des AFFE d'une commande à l autre
try :
child=self.children[index]
child.affichePanneau()
if noeud.treeParent.children.index(noeud) < index : index=noeud.treeParent.children.index(noeud)
if index < 0 : index =0
- # Cas ou on détruit dans une ETape
+ # Cas ou on détruit dans une Etape
if index == 9999 :
parentPosition=self.treeParent
while not(isinstance(parentPosition, compojdc.Node)):
def doPaste(self,node_selected,pos='after'):
"""
- Déclenche la copie de l'objet item avec pour cible
- l'objet passé en argument : node_selected
+ Déclenche la copie de l'objet item avec pour cible
+ l'objet passé en argument : node_selected
"""
#print 'je passe dans doPaste'
objet_a_copier = self.item.get_copie_objet()
def doPasteCommande(self,objet_a_copier,pos='after'):
"""
- Réalise la copie de l'objet passé en argument qui est nécessairement
+ Réalise la copie de l'objet passé en argument qui est nécessairement
une commande
"""
child=None
def doPastePremier(self,objet_a_copier):
"""
- Réalise la copie de l'objet passé en argument (objet_a_copier)
+ Réalise la copie de l'objet passé en argument (objet_a_copier)
"""
objet = objet_a_copier.item.get_copie_objet()
child = self.append_child(objet,pos='first')
if txt_exception:
self.jdc = None
qApp.restoreOverrideCursor()
- self.affiche_infos(tr("Erreur fatale au chargement de %s",str(fichier)),Qt.red)
+ self.affiche_infos(tr("Erreur fatale au chargement de %s", fichier), Qt.red)
if (self.appliEficas.ssIhm == False) : QMessageBox.critical( self, tr("Erreur fatale au chargement d'un fichier"), txt_exception)
else:
comploader.charger_composants("QT")
if QFileInfo(fn).exists():
abort = QMessageBox.warning(self,
tr("Sauvegarde du Fichier"),
- tr("Le fichier <b>%s</b> existe deja.",str(fn)),
+ tr("Le fichier <b>%s</b> existe deja.", unicode(fn)),
tr("&Ecraser"),
self.trUtf8("&Abandonner"))
if abort == 1 : return (0, "")
-# -*- coding: iso-8859-1 -*-
# Copyright (C) 2007-2013 EDF R&D
#
# This library is free software; you can redistribute it and/or
Ce module contient la classe AsException
"""
-# Modules Python
-import types
+# Modules EFICAS
+from strfunc import get_encoding
class AsException(Exception):
- def __str__(self):
- if not self.args:
- return ''
- elif len(self.args) == 1:
- return str(self.args[0])
- else:
- s=''
- for e in self.args:
- if type(e) == types.StringType: s=s+ ' ' + e
- else:s=s+ ' ' + str(e)
- return s
+ def __unicode__(self):
+ return " ".join([unicode(x) for x in self.args])
+ def __str__(self):
+ return unicode(self).encode(get_encoding())
from N_Exception import AsException
from N_ASSD import ASSD
from N_info import message, SUPERV
+from strfunc import get_encoding
MemoryErrorMsg = """MemoryError :
try:
if self.appli != None :
self.appli.affiche_infos('Compilation du fichier de commandes en cours ...')
- self.proc_compile=compile(self.procedure,self.nom,'exec')
+ # Python 2.7 compile function does not accept unicode filename, so we encode it
+ # with the current locale encoding in order to have a correct traceback
+ encoded_filename = self.nom.encode(get_encoding())
+ self.proc_compile = compile(self.procedure, encoded_filename, 'exec')
except SyntaxError, e:
if CONTEXT.debug : traceback.print_exc()
l=traceback.format_exception_only(SyntaxError,e)
# Modules EFICAS
from N_Exception import AsException
from N_types import is_int, is_float, is_complex, is_str, is_sequence, is_assd
+from strfunc import get_encoding
SEP='_'
frame=cur_frame(niveau)
if frame == None: return 0,"inconnu",0,{}
try:
- return frame.f_lineno,frame.f_code.co_filename,frame.f_code.co_firstlineno,frame.f_locals
+ # Python 2.7 compile function does not accept unicode filename, so we encode it
+ # with the current locale encoding in order to have a correct traceback.
+ # Here, we convert it back to unicode.
+ filename = unicode(frame.f_code.co_filename, get_encoding())
+ return frame.f_lineno,filename,frame.f_code.co_firstlineno,frame.f_locals
except:
return 0,"inconnu",0,{}
# Modules EFICAS
import N_utils
+from strfunc import get_encoding
regex1='=?\s*%s\s*\('
#commentaire standard precede d'un nombre quelconque de blancs (pas multiligne)
lineno = f.f_lineno # XXX Too bad if -O is used
#lineno = f_lineno(f) # Ne marche pas toujours
co = f.f_code
- filename = co.co_filename
+ filename = unicode(co.co_filename, get_encoding())
name = co.co_name
#pattern pour identifier le debut de la commande
pattern_oper=re.compile(regex1 % ope)
"""
self.cr=self.CR(debut=u'Etape : '+self.nom \
+ u' ligne : '+`self.appel[0]`\
- + u' fichier : '+`self.appel[1]`,
+ + u' fichier : '+ self.appel[1],
fin = u'Fin Etape : '+self.nom)
self.state = 'modified'
try:
def writeDefault(self, fn):
fileSTD = fn[:fn.rfind(".")] + '.py'
- f = open( str(fileSTD), 'wb')
- f.write( self.texteSTD )
- f.close()
+ with open(fileSTD, 'w') as f:
+ f.write(self.texteSTD)
def getGenerateur (self):
print "IDM: getGenerateur dans generator_openturns_study.py"