From: Pascale Noyret Date: Fri, 5 Oct 2012 07:26:02 +0000 (+0000) Subject: Pour Traduction X-Git-Tag: LOGILAB~59 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=06a7f5d4bb76deeddf75586d308fbff2060c7031;p=tools%2Feficas.git Pour Traduction --- diff --git a/InterfaceQT4/editor.py b/InterfaceQT4/editor.py index 556c2185..d91929f6 100644 --- a/InterfaceQT4/editor.py +++ b/InterfaceQT4/editor.py @@ -238,6 +238,9 @@ class JDCEditor(QSplitter): if pareil == False and (self.QWParent != None) : QMessageBox.warning( self, "fichier modifie","Attention! fichier change hors EFICAS") p.text=texteNew + memeVersion,texteNew=self.verifieVersionCataDuJDC(p.text) + if memeVersion == 0 : texteNew=self.traduitCatalogue(texteNew) + p.text=texteNew text=p.convert('exec',self.appliEficas) if not p.cr.estvide(): self.affiche_infos("Erreur a la conversion",Qt.red) @@ -590,6 +593,7 @@ class JDCEditor(QSplitter): txt += eol else: txt += eol + txt=self.ajoutVersionCataDsJDC(txt) checksum=self.get_checksum(txt) txt=txt+checksum try: @@ -671,6 +675,7 @@ class JDCEditor(QSplitter): if abort == 1 : return (0, "") return (1,fn) + #-----------------# def saveRun(self): #-----------------# texte=self.run(execution="non") @@ -847,8 +852,51 @@ class JDCEditor(QSplitter): jdcText = '' return ulfile, jdcText + #-------------------------------------# + def ajoutVersionCataDsJDC(self,txt): + #-------------------------------------# + if not hasattr(self.readercata.cata[0],'version_cata'): return txt + ligneVersion="#VERSION_CATA:"+self.readercata.cata[0].version_cata+":FIN VERSION_CATA\n" + texte=txt+ligneVersion + return texte + + #-------------------------------------# + def verifieVersionCataDuJDC(self,text): + #-------------------------------------# + memeVersion=False + indexDeb=text.find("#VERSION_CATA:") + indexFin=text.find(":FIN VERSION_CATA") + if indexDeb < 0 : + self.versionCataDuJDC="sans" + textJDC=text + else : + self.versionCataDuJDC=text[indexDeb+13:indexFin] + textJDC=text[0:indexDeb]+text[indexFin+17:-1] + + self.versionCata="sans" + if hasattr(self.readercata.cata[0],'version_cata'): self.versionCata=self.readercata.cata[0].version_cata + if self.versionCata==self.versionCataDuJDC : memeVersion=True + return memeVersion,textJDC + + #-------------------------------# + def traduitCatalogue(self,texte): + #-------------------------------# + nomTraducteur="traduit"+self.readercata.code+self.versionCataDuJDC+"To"+self.versionCata + sys.path.append(os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)),"../Traducteur"))) + print nomTraducteur + #try : + if 1 : + print "hh" + traducteur=__import__(nomTraducteur) + monTraducteur=traducteur.MonTraducteur(texte) + nouveauTexte=monTraducteur.traduit() + return nouveauTexte + else : + #except : + return texte + #------------------------------# def verifieCHECKSUM(self,text): #------------------------------# @@ -861,6 +909,7 @@ class JDCEditor(QSplitter): checksum=self.get_checksum(textJDC) pareil=(checkAvant==checksum) return pareil, textJDC + #---------------------------# def get_checksum(self,texte): #---------------------------# diff --git a/Traducteur/load.py b/Traducteur/load.py index 737369f8..82dd9682 100644 --- a/Traducteur/load.py +++ b/Traducteur/load.py @@ -25,12 +25,11 @@ from mocles import parseKeywords -class JDC: +class JDCTrad: """Cet objet conserve toutes les informations relatives à un fichier de commandes .comm""" - def __init__(self,filename,src,atraiter): + def __init__(self,src,atraiter): #---------------------------------------- - self.filename = os.path.abspath(filename) self.atraiter=atraiter self.init(src,atraiter) @@ -127,11 +126,16 @@ class JDC: self.lines[numeroLigne]=nouveauTexte def getJDC(filename,atraiter): -#---------------------------_ +#---------------------------- # lit le JDC f=open(filename) src=f.read() f.close() - jdc=JDC(filename,src,atraiter) + jdc=JDCTrad(src,atraiter) return jdc +def getJDCFromTexte(texte,atraiter): +#----------------------------------- +# lit le JDC + jdc=JDCTrad(texte,atraiter) + return jdc diff --git a/Traducteur/mocles.py b/Traducteur/mocles.py index 55ba59f3..f26acc07 100644 --- a/Traducteur/mocles.py +++ b/Traducteur/mocles.py @@ -22,7 +22,7 @@ import compiler import types from parseur import Keyword, FactNode, lastparen, lastparen2,maskStringsAndComments from visiteur import KeywordFinder, visitor -from utils import indexToCoordinates +import utils import traceback debug=0