]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
Pour Traduction
authorPascale Noyret <pascale.noyret@edf.fr>
Fri, 5 Oct 2012 07:26:02 +0000 (07:26 +0000)
committerPascale Noyret <pascale.noyret@edf.fr>
Fri, 5 Oct 2012 07:26:02 +0000 (07:26 +0000)
InterfaceQT4/editor.py
Traducteur/load.py
Traducteur/mocles.py

index 556c2185394e629293c807754e88e952e1324219..d91929f68181bff945c1dda08e9c1a83b0f62664 100644 (file)
@@ -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):
     #---------------------------#
index 737369f88ed49b6c79065c99b754e8e948223916..82dd96827fe24baebf7fb3c0d6a64507f7c01f9c 100644 (file)
@@ -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
index 55ba59f3216352625a2c53f5d3d9e8a167d74590..f26acc07f836e16aa7a3dcbfbeca0e86339f5b9f 100644 (file)
@@ -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