X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=convert%2Fconvert_pyth.py;h=3f191ed03972ecf0812c50f153c73d5ea6287003;hb=d006ad319d107d64b0f47657d058157dbb365ae7;hp=3d85e5b4d15df3eecc4f4f242523dff8c2f4a838;hpb=16d5922e798b1254eb558678612711d72ed38b32;p=tools%2Feficas.git diff --git a/convert/convert_pyth.py b/convert/convert_pyth.py index 3d85e5b4..3f191ed0 100644 --- a/convert/convert_pyth.py +++ b/convert/convert_pyth.py @@ -22,32 +22,39 @@ au format python pour EFICAS. Un plugin convertisseur doit fournir deux attributs de classe : - extensions et formats et deux méthodes : readfile,convert. + extensions et formats et deux methodes : readfile,convert. L'attribut de classe extensions est une liste d'extensions - de fichiers préconisées pour ce type de format. Cette information + de fichiers preconisees pour ce type de format. Cette information est seulement indicative. L'attribut de classe formats est une liste de formats de sortie - supportés par le convertisseur. Les formats possibles sont : + supportes par le convertisseur. Les formats possibles sont : eval, dict ou exec. - Le format eval est un texte source Python qui peut etre evalué. Le - résultat de l'évaluation est un objet Python quelconque. + Le format eval est un texte source Python qui peut etre evalue. Le + resultat de l'evaluation est un objet Python quelconque. Le format dict est un dictionnaire Python. - Le format exec est un texte source Python qui peut etre executé. + Le format exec est un texte source Python qui peut etre execute. - La méthode readfile a pour fonction de lire un fichier dont le - nom est passé en argument de la fonction. + La methode readfile a pour fonction de lire un fichier dont le + nom est passe en argument de la fonction. - convertisseur.readfile(nom_fichier) - La méthode convert a pour fonction de convertir le fichier - préalablement lu dans un objet du format passé en argument. + La methode convert a pour fonction de convertir le fichier + prealablement lu dans un objet du format passe en argument. - objet=convertisseur.convert(outformat) Ce convertisseur supporte le format de sortie dict """ -import sys,string,traceback +from __future__ import absolute_import +try : + from builtins import str + from builtins import object +except : + pass + +import sys,traceback from Noyau import N_CR from Extensions.i18n import tr @@ -55,32 +62,32 @@ from Extensions.eficas_exception import EficasException def entryPoint(): """ - Retourne les informations nécessaires pour le chargeur de plugins - Ces informations sont retournées dans un dictionnaire + Retourne les informations necessaires pour le chargeur de plugins + Ces informations sont retournees dans un dictionnaire """ return { # Le nom du plugin 'name' : 'pyth', - # La factory pour créer une instance du plugin + # La factory pour creer une instance du plugin 'factory' : PythParser, } -class PythParser: +class PythParser(object): """ Ce convertisseur lit un fichier au format pyth avec la methode readfile : convertisseur.readfile(nom_fichier) et retourne le texte au format outformat avec la methode convertisseur.convert(outformat) - Ses caractéristiques principales sont exposées dans 2 attributs + Ses caracteristiques principales sont exposees dans 2 attributs de classe : - - extensions : qui donne une liste d'extensions de fichier préconisées - - formats : qui donne une liste de formats de sortie supportés + - extensions : qui donne une liste d'extensions de fichier preconisees + - formats : qui donne une liste de formats de sortie supportes """ - # Les extensions de fichier préconisées + # Les extensions de fichier preconisees extensions=('.pyth',) - # Les formats de sortie supportés (eval dict ou exec) + # Les formats de sortie supportes (eval dict ou exec) formats=('dict',) def __init__(self,cr=None): @@ -101,11 +108,11 @@ class PythParser: return self.g={} try: - exec self.text in self.g + exec(self.text, self.g) except EficasException as e: l=traceback.format_exception(sys.exc_info()[0],sys.exc_info()[1],sys.exc_info()[2]) - s= string.join(l[2:]) - s= string.replace(s,'""','"<%s>"'%self.filename) + s= ''.join(l[2:]) + s= s.replace('""','"<%s>"'%self.filename) self.cr.fatal(tr("Erreur a l'evaluation :\n %s", s)) def convert(self,outformat,appli=None): @@ -116,6 +123,6 @@ class PythParser: def getdict(self): d={} - for k,v in self.g.items(): + for k,v in list(self.g.items()): if k[0] != '_':d[k]=v return d