]> SALOME platform Git repositories - modules/adao.git/commitdiff
Salome HOME
Compatibility correction of conversion from previous versions
authorJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Mon, 5 Sep 2016 08:37:43 +0000 (10:37 +0200)
committerJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Mon, 5 Sep 2016 08:37:43 +0000 (10:37 +0200)
16 files changed:
doc/en/advanced.rst
doc/fr/advanced.rst
src/daEficas/Makefile.am
src/daEficas/traduitADAOV7_4_0ToV7_8_0.py [deleted file]
src/daEficas/traduitADAOV7_4_0ToV8_1_0.py [new file with mode: 0644]
src/daEficas/traduitADAOV7_5_0ToV7_8_0.py [deleted file]
src/daEficas/traduitADAOV7_5_0ToV8_1_0.py [new file with mode: 0644]
src/daEficas/traduitADAOV7_5_1ToV7_8_0.py [deleted file]
src/daEficas/traduitADAOV7_5_1ToV8_1_0.py [new file with mode: 0644]
src/daEficas/traduitADAOV7_6_0ToV7_8_0.py [deleted file]
src/daEficas/traduitADAOV7_6_0ToV8_1_0.py [new file with mode: 0644]
src/daEficas/traduitADAOV7_7_0ToV7_8_0.py [deleted file]
src/daEficas/traduitADAOV7_7_0ToV8_1_0.py [new file with mode: 0644]
src/daEficas/traduitADAOV7_8_0ToV8_1_0.py [new file with mode: 0644]
src/daEficas/traduitADAOsansToV7_8_0.py [deleted file]
src/daEficas/traduitADAOsansToV8_1_0.py [new file with mode: 0644]

index 1f75261bc0b2fbac4117b20f193ba95a2cf0a9f9..704c6cecf8f9dc0145b29b2d54b84e0eb748fe64 100644 (file)
@@ -182,6 +182,111 @@ load the types catalog to avoid weird difficulties::
 This method allows for example to edit the YACS XML scheme in TUI, or to gather
 results for further use.
 
+.. _section_advanced_R:
+
+Running an ADAO calculation in R environment using the TUI ADAO interface
+-------------------------------------------------------------------------
+
+.. index:: single: R
+.. index:: single: rPython
+
+To extend the analysis and treatment capacities, it is possible to use ADAO
+calculations in **R** environment (see [R]_ for more details). It is available
+in SALOME by launching the R interpreter in the shell "``salome shell``".
+Moreover, the package "*rPython*" has to be available, it can be installed by
+the user if required by the following R command::
+
+    install.packages("rPython")
+
+One will refer to the [GilBellosta15]_ documentation for more information on
+this package.
+
+The ADAO calculations defined in text interface (API/TUI, see
+:ref:`section_tui`) can be interpreted from the R environment, using some data
+and information from R. The approach is illustrated in the example
+:ref:`subsection_tui_example`, suggested in the API/TUI interface description.
+In the R interpreter, one can run the following commands, directly coming from
+the simple example::
+
+    #
+    # IMPORTANT: to be run in R interpreter
+    # -------------------------------------
+    library(rPython)
+    python.exec("
+        from numpy import array
+        import adaoBuilder
+        case = adaoBuilder.New()
+        case.set( 'AlgorithmParameters', Algorithm='3DVAR' )
+        case.set( 'Background',          Vector=[0, 1, 2] )
+        case.set( 'BackgroundError',     ScalarSparseMatrix=1.0 )
+        case.set( 'Observation',         Vector=array([0.5, 1.5, 2.5]) )
+        case.set( 'ObservationError',    DiagonalSparseMatrix='1 1 1' )
+        case.set( 'ObservationOperator', Matrix='1 0 0;0 2 0;0 0 3' )
+        case.set( 'Observer',            Variable='Analysis', Template='ValuePrinter' )
+        case.execute()
+    ")
+
+giving the result::
+
+    Analysis [ 0.25000264  0.79999797  0.94999939]
+
+In writing the ADAO calculations run from R, one must take close attention to
+the good use of single and double quotes, that should not collide between the
+two languages.
+
+The data can come from the R environment and should be stored in properly
+assigned variables to be used later in Python for ADAO. One will refer to the
+[GilBellosta15]_ documentation for the implementation work. We can transform the
+above example to use data from R to feed the three variables of background,
+observation and observation operator. We get in the end the optimal state also
+in a R variable. The other lines are identical. The example thus becomes::
+
+    #
+    # IMPORTANT: to be run in R interpreter
+    # -------------------------------------
+    #
+    # R variables
+    # -----------
+    xb <- 0:2
+    yo <- c(0.5, 1.5, 2.5)
+    h <- '1 0 0;0 2 0;0 0 3'
+    #
+    # Python code
+    # -----------
+    library(rPython)
+    python.assign( "xb",  xb )
+    python.assign( "yo",  yo )
+    python.assign( "h",  h )
+    python.exec("
+        from numpy import array
+        import adaoBuilder
+        case = adaoBuilder.New()
+        case.set( 'AlgorithmParameters', Algorithm='3DVAR' )
+        case.set( 'Background',          Vector=xb )
+        case.set( 'BackgroundError',     ScalarSparseMatrix=1.0 )
+        case.set( 'Observation',         Vector=array(yo) )
+        case.set( 'ObservationError',    DiagonalSparseMatrix='1 1 1' )
+        case.set( 'ObservationOperator', Matrix=str(h) )
+        case.set( 'Observer',            Variable='Analysis', Template='ValuePrinter' )
+        case.execute()
+        xa = list(case.get('Analysis')[-1])
+    ")
+    #
+    # R variables
+    # -----------
+    xa <- python.get("xa")
+
+One notices the explicit ``str`` and ``list`` type conversions to ensure that
+the data are transmitted as known standard types from "*rPython*" package.
+Moreover, it is the data that can be transferred between the two languages, not
+functions or methods. It is therefore necessary to prepare generically in Python
+the functions to execute required by ADAO, and to forward them correctly the
+data available in R.
+
+The most comprehensive cases, proposed in :ref:`subsection_tui_advanced`, can be
+executed in the same way, and they give the same result as in the standard
+Python interface.
+
 .. _section_advanced_observer:
 
 Getting information on special variables during the ADAO calculation in YACS
@@ -316,37 +421,15 @@ is not guaranteed for all the commands or keywords. In general also, an ADAO
 case file for one version can not be read by a previous minor or major version
 of the ADAO module.
 
-Switching from 7.6 to 7.7
-+++++++++++++++++++++++++
-
-There is no known incompatibility for the ADAO case files. The upgrade procedure
-is to read the old ADAO case file with the new SALOME/ADAO module, and save it
-with a new name.
-
-Switching from 7.5 to 7.6
-+++++++++++++++++++++++++
-
-There is no known incompatibility for the ADAO case files. The upgrade procedure
-is to read the old ADAO case file with the new SALOME/ADAO module, and save it
-with a new name. This procedure proceed automatically to the required
-modifications of the storage tree of the ADAO case file.
-
-Switching from 7.4 to 7.5
-+++++++++++++++++++++++++
-
-There is no known incompatibility for the ADAO case files. The upgrade procedure
-is to read the old ADAO case file with the new SALOME/ADAO module, and save it
-with a new name.
-
-Switching from 7.3 to 7.4
+Switching from 7.8 to 8.1
 +++++++++++++++++++++++++
 
 There is no known incompatibility for the ADAO case files. The upgrade procedure
 is to read the old ADAO case file with the new SALOME/ADAO module, and save it
 with a new name.
 
-Switching from 7.2 to 7.3
-+++++++++++++++++++++++++
+Switching from 7.x to 7.y with x < y
+++++++++++++++++++++++++++++++++++++
 
 There is no known incompatibility for the ADAO case files. The upgrade procedure
 is to read the old ADAO case file with the new SALOME/ADAO module, and save it
@@ -375,29 +458,15 @@ object::
 
 The post-processing scripts has to be modified.
 
-Switching from 6.5 to 6.6
-+++++++++++++++++++++++++
+Switching from 6.x to 6.y with x < y
+++++++++++++++++++++++++++++++++++++
 
 There is no known incompatibility for the ADAO case file. The upgrade procedure
 is to read the old ADAO case file with the new SALOME/ADAO module, and save it
 with a new name.
 
-There is one incompatibility introduced for the naming of operators used to for
-the observation operator. The new mandatory names are "*DirectOperator*",
-"*TangentOperator*" and "*AdjointOperator*", as described in the last subsection
-of the chapter :ref:`section_reference`. The operator scripts has to be
-modified.
-
-Switching from 6.4 to 6.5
-+++++++++++++++++++++++++
-
-There is no known incompatibility for the ADAO case file or the accompanying
-scripts. The upgrade procedure is to read the old ADAO case file with the new
-SALOME/ADAO module, and save it with a new name.
-
-Switching from 6.3 to 6.4
-+++++++++++++++++++++++++
-
-There is no known incompatibility for the ADAO case file or the accompanying
-scripts. The upgrade procedure is to read the old ADAO case file with the new
-SALOME/ADAO module, and save it with a new name.
+There is one incompatibility introduced for the operator script files, in the
+naming of operators used to for the observation operator. The new mandatory
+names are "*DirectOperator*", "*TangentOperator*" and "*AdjointOperator*", as
+described in the last subsection of the chapter :ref:`section_reference`. The
+operator script files has to be modified.
index cc9bbedf91734a14b9122ab100acce1517304baf..50d58f59eb2e0fb335eb5efd90a12f815c6764a9 100644 (file)
@@ -191,6 +191,114 @@ de types pour 
 Cette démarche permet par exemple d'éditer le schéma YACS XML en mode texte TUI,
 ou de rassembler les résultats pour un usage ultérieur.
 
+.. _section_advanced_R:
+
+Exécuter un calcul ADAO en environnement R en utilisant l'interface TUI ADAO
+----------------------------------------------------------------------------
+
+.. index:: single: R
+.. index:: single: rPython
+
+Pour étendre les possibilités d'analyse et de traitement, il est possible
+d'utiliser les calculs ADAO dans l'environnement **R** (voir [R]_ pour plus de
+détails). Ce dernier est disponible dans SALOME en lançant l'interpréteur R dans
+le shell "``salome shell``". Il faut de plus disposer, en R, du package
+"*rPython*", qui peut si nécessaire être installé par l'utilisateur à l'aide de
+la commande R suivante::
+
+    install.packages("rPython")
+
+On se reportera à la documentation [GilBellosta15]_ pour de plus amples
+renseignements sur ce package.
+
+Les calculs ADAO définis en interface textuelle (API/TUI, voir la
+:ref:`section_tui`) peuvent alors être interprétés depuis l'environnement R, en
+utilisant des données et des informations depuis R. La démarche est illustrée
+sur :ref:`subsection_tui_example`, proposé dans la description de l'interface
+API/TUI. Dans l'interpréteur R, on peut exécuter les commandes suivantes,
+directement issues de l'exemple simple::
+
+    #
+    # IMPORTANT : à exécuter dans l'interpréteur R
+    # --------------------------------------------
+    library(rPython)
+    python.exec("
+        from numpy import array
+        import adaoBuilder
+        case = adaoBuilder.New()
+        case.set( 'AlgorithmParameters', Algorithm='3DVAR' )
+        case.set( 'Background',          Vector=[0, 1, 2] )
+        case.set( 'BackgroundError',     ScalarSparseMatrix=1.0 )
+        case.set( 'Observation',         Vector=array([0.5, 1.5, 2.5]) )
+        case.set( 'ObservationError',    DiagonalSparseMatrix='1 1 1' )
+        case.set( 'ObservationOperator', Matrix='1 0 0;0 2 0;0 0 3' )
+        case.set( 'Observer',            Variable='Analysis', Template='ValuePrinter' )
+        case.execute()
+    ")
+
+dont le résultat est::
+
+    Analysis [ 0.25000264  0.79999797  0.94999939]
+
+Dans la rédaction des calculs ADAO exécutés depuis R, il convient d'être très
+attentif au bon usage des guillemets simples et doubles, qui ne doivent pas
+collisionner entre les deux langages.
+
+Les données peuvent venir l'environnement R et doivent être rangées dans des
+variables correctement assignées, pour être utilisées ensuite en Python pour
+ADAO. On se reportera à la documentation [GilBellosta15]_ pour la mise en
+oeuvre. On peut transformer l'exemple ci-dessus pour utiliser des données
+provenant de R pour alimenter les trois variables d'ébauche, d'observation et
+d'opérateur d'observation. On récupère à la fin l'état optimal dans une variable
+R aussi. Les autres lignes sont identiques. L'exemple devient ainsi::
+
+    #
+    # IMPORTANT : à exécuter dans l'interpréteur R
+    # --------------------------------------------
+    #
+    # Variables R
+    # -----------
+    xb <- 0:2
+    yo <- c(0.5, 1.5, 2.5)
+    h <- '1 0 0;0 2 0;0 0 3'
+    #
+    # Code Python
+    # -----------
+    library(rPython)
+    python.assign( "xb",  xb )
+    python.assign( "yo",  yo )
+    python.assign( "h",  h )
+    python.exec("
+        from numpy import array
+        import adaoBuilder
+        case = adaoBuilder.New()
+        case.set( 'AlgorithmParameters', Algorithm='3DVAR' )
+        case.set( 'Background',          Vector=xb )
+        case.set( 'BackgroundError',     ScalarSparseMatrix=1.0 )
+        case.set( 'Observation',         Vector=array(yo) )
+        case.set( 'ObservationError',    DiagonalSparseMatrix='1 1 1' )
+        case.set( 'ObservationOperator', Matrix=str(h) )
+        case.set( 'Observer',            Variable='Analysis', Template='ValuePrinter' )
+        case.execute()
+        xa = list(case.get('Analysis')[-1])
+    ")
+    #
+    # Variables R
+    # -----------
+    xa <- python.get("xa")
+
+On remarquera les conversions explicite de type ``str`` et ``list`` pour
+s'assurer que les données sont bien transmises en type standards connus du
+package "*rPython*". De plus, ce sont les données qui peuvent être transférées
+entre les deux langages, et pas des fonctions ou méthodes. Il convient donc
+d'élaborer en Python de manière générique les fonctions d'exécution requises par
+ADAO, et de leur transmettre ensuite de manière correcte les données disponibles
+en R.
+
+Les cas plus complets, proposés dans les :ref:`subsection_tui_advanced`, peuvent
+être exécutés de la même manière, et ils donnent le même résultat que dans
+l'interface API/TUI en Python standard.
+
 .. _section_advanced_observer:
 
 Obtenir des informations sur des variables spéciales au cours d'un calcul ADAO en YACS
@@ -336,38 +444,15 @@ commandes ou tous les mots-cl
 version ne peut pas être lu par une précédente version mineure ou majeure du
 module ADAO.
 
-Passer de la version 7.6 à la 7.7
-+++++++++++++++++++++++++++++++++
-
-Il n'y a pas d'incompatibilité connue pour les fichiers de cas ADAO. La
-procédure de montée en version consiste à lire l'ancien fichier de cas ADAO
-avec le nouveau module SALOME/ADAO, et à l'enregistrer avec un nouveau nom.
-
-Passer de la version 7.5 à la 7.6
-+++++++++++++++++++++++++++++++++
-
-Il n'y a pas d'incompatibilité connue pour les fichiers de cas ADAO. La
-procédure de montée en version consiste à lire l'ancien fichier de cas ADAO avec
-le nouveau module SALOME/ADAO, et à l'enregistrer avec un nouveau nom. Cette
-procédure effectue automatiquement les modifications requises dans
-l'arborescence de stockage du fichier de cas ADAO.
-
-Passer de la version 7.4 à la 7.5
-+++++++++++++++++++++++++++++++++
-
-Il n'y a pas d'incompatibilité connue pour les fichiers de cas ADAO. La
-procédure de montée en version consiste à lire l'ancien fichier de cas ADAO
-avec le nouveau module SALOME/ADAO, et à l'enregistrer avec un nouveau nom.
-
-Passer de la version 7.3 à la 7.4
+Passer de la version 7.8 à la 8.1
 +++++++++++++++++++++++++++++++++
 
 Il n'y a pas d'incompatibilité connue pour les fichiers de cas ADAO. La
 procédure de montée en version consiste à lire l'ancien fichier de cas ADAO
 avec le nouveau module SALOME/ADAO, et à l'enregistrer avec un nouveau nom.
 
-Passer de la version 7.2 à la 7.3
-+++++++++++++++++++++++++++++++++
+Passer de la version 7.x à la 7.y avec x < y
+++++++++++++++++++++++++++++++++++++++++++++
 
 Il n'y a pas d'incompatibilité connue pour les fichiers de cas ADAO. La
 procédure de montée en version consiste à lire l'ancien fichier de cas ADAO
@@ -396,29 +481,16 @@ objets de type liste ou tuple::
 
 Les scripts de post-processing doivent être modifiés.
 
-Passer de la version 6.5 à la 6.6
-+++++++++++++++++++++++++++++++++
-
-Il n'y a pas d'incompatibilité connue pour les fichiers de cas ADAO. La
-procédure de montée en version consiste à lire l'ancien fichier de cas ADAO avec
-le nouveau module SALOME/ADAO, et à l'enregistrer avec un nouveau nom.
-
-Il y a une incompatibilité introduite dans la dénomination des opérateurs
-élémentaires utilisés pour l'opérateur d'observation par script. Les nouveaux
-noms requis sont "*DirectOperator*", "*TangentOperator*" et "*AdjointOperator*",
-comme décrit dans la quatrième partie du chapitre :ref:`section_reference`. Les
-scripts d'opérateur doivent être modifiés.
-
-Passer de la version 6.4 à la 6.5
-+++++++++++++++++++++++++++++++++
+Passer de la version 6.x à la 6.y avec x < y
+++++++++++++++++++++++++++++++++++++++++++++
 
 Il n'y a pas d'incompatibilité connue pour les fichiers de cas ADAO. La
 procédure de montée en version consiste à lire l'ancien fichier de cas ADAO avec
 le nouveau module SALOME/ADAO, et à l'enregistrer avec un nouveau nom.
 
-Passer de la version 6.3 à la 6.4
-+++++++++++++++++++++++++++++++++
-
-Il n'y a pas d'incompatibilité connue pour les fichiers de cas ADAO. La
-procédure de montée en version consiste à lire l'ancien fichier de cas ADAO avec
-le nouveau module SALOME/ADAO, et à l'enregistrer avec un nouveau nom.
+Il y a une incompatibilité introduite dans les fichiers de script d'opérateur,
+lors de la dénomination des opérateurs élémentaires utilisés pour l'opérateur
+d'observation par script. Les nouveaux noms requis sont "*DirectOperator*",
+"*TangentOperator*" et "*AdjointOperator*", comme décrit dans la quatrième
+partie du chapitre :ref:`section_reference`. Les fichiers de script d'opérateur
+doivent être modifiés.
index f7a41c4ac05db87def71388e741bc2dc72e65908..78e5944aa4fdb84fbeeb75177c2dba085c43db20 100644 (file)
@@ -32,11 +32,12 @@ mypkgpython_PYTHON = \
                __init__.py \
                prefs_ADAO.py \
                prefs.py \
-               traduitADAOsansToV7_8_0.py \
-               traduitADAOV7_4_0ToV7_8_0.py \
-               traduitADAOV7_5_0ToV7_8_0.py \
-               traduitADAOV7_5_1ToV7_8_0.py \
-               traduitADAOV7_6_0ToV7_8_0.py \
-               traduitADAOV7_7_0ToV7_8_0.py
+               traduitADAOsansToV8_1_0.py \
+               traduitADAOV7_4_0ToV8_1_0.py \
+               traduitADAOV7_5_0ToV8_1_0.py \
+               traduitADAOV7_5_1ToV8_1_0.py \
+               traduitADAOV7_6_0ToV8_1_0.py \
+               traduitADAOV7_7_0ToV8_1_0.py \
+               traduitADAOV7_8_0ToV8_1_0.py
 
 EXTRA_DIST = prefs_ADAO.py.in
diff --git a/src/daEficas/traduitADAOV7_4_0ToV7_8_0.py b/src/daEficas/traduitADAOV7_4_0ToV7_8_0.py
deleted file mode 100644 (file)
index c1099d7..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-#-*-coding:iso-8859-1-*-
-#
-# Copyright (C) 2008-2016 EDF R&D
-#
-# This file is part of SALOME ADAO module
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-#
-# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-
-import optparse
-import sys
-import re
-
-import Traducteur.log as log
-from Traducteur.load         import getJDC, getJDCFromTexte
-from Traducteur.mocles       import parseKeywords
-from Traducteur.dictErreurs  import GenereErreurPourCommande
-from Traducteur.inseremocle  import *
-from Traducteur.movemocle    import *
-from Traducteur.renamemocle  import *
-
-version_out = "V7_8_0"
-
-usage="""Usage: python %prog [options]
-
-Typical use is:
-  python %prog --infile=xxxx.comm --outfile=yyyy.comm"""
-
-atraiter = (
-    "ASSIMILATION_STUDY",
-    "CHECKING_STUDY",
-    )
-
-dict_erreurs = {
-    "ASSIMILATION_STUDY":"Changements dans l'arbre et dans les noms",
-    "CHECKING_STUDY":"Changements dans l'arbre et dans les noms",
-    }
-
-sys.dict_erreurs=dict_erreurs
-
-def traduc(infile=None,outfile=None,texte=None,flog=None):
-    hdlr = log.initialise(flog)
-    if infile is not None:
-        jdc  = getJDC(infile,atraiter)
-    elif texte is not None:
-        jdc  = getJDCFromTexte(texte,atraiter)
-    else:
-        raise ValueError("Traduction du JDC impossible")
-
-    #Parse les mocles des commandes
-    parseKeywords(jdc.root)
-    GenereErreurPourCommande(jdc,('Algorithm','AlgorithmParameters','FunctionDict'))
-    # ==========================================================================
-
-    for command in atraiter:
-        # Insere le MC s'il n'existe pas
-        chercheOperInsereFacteurSiRegle(jdc, command, "AlgorithmParameters",((("AlgorithmParameters",),"nexistepasMCFParmi"),))
-        # Deplace le MC
-        moveMotClefInOperToFact(jdc, command, "Algorithm", "AlgorithmParameters", plusieursFois=False)
-        # Renomme le MC
-        renameMotCleInFact(jdc, command, "AlgorithmParameters", "INPUT_TYPE", "Parameters")
-        # Renomme le MC
-        renameMotCle(jdc, command, "Study_name", "StudyName")
-        renameMotCle(jdc, command, "Study_repertory", "StudyRepertory")
-
-    # ==========================================================================
-    fsrc = jdc.getSource()
-    fsrc = re.sub( "FunctionDict", "ScriptWithSwitch", fsrc )
-    fsrc = re.sub( "FUNCTIONDICT_FILE", "SCRIPTWITHSWITCH_FILE", fsrc )
-    fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
-    fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
-    #
-    log.ferme(hdlr)
-    if outfile is not None:
-        f=open(outfile,'w')
-        f.write( fsrc )
-        f.close()
-    else:
-        return fsrc
-
-class MonTraducteur:
-    def __init__(self,texte):
-        self.__texte = str(texte)
-    def traduit(self):
-        return traduc(infile=None,outfile=None,texte=self.__texte,flog=None)
-
-def main():
-    parser = optparse.OptionParser(usage=usage)
-
-    parser.add_option('-i','--infile', dest="infile",
-        help="Le fichier COMM en entree, a traduire")
-    parser.add_option('-o','--outfile', dest="outfile", default='out.comm',
-        help="Le fichier COMM en sortie, traduit")
-
-    options, args = parser.parse_args()
-    if len(options.infile) == 0:
-        print
-        parser.print_help()
-        print
-        sys.exit(1)
-
-    traduc(options.infile,options.outfile)
-
-if __name__ == '__main__':
-    main()
diff --git a/src/daEficas/traduitADAOV7_4_0ToV8_1_0.py b/src/daEficas/traduitADAOV7_4_0ToV8_1_0.py
new file mode 100644 (file)
index 0000000..6709ed7
--- /dev/null
@@ -0,0 +1,118 @@
+#-*-coding:iso-8859-1-*-
+#
+# Copyright (C) 2008-2016 EDF R&D
+#
+# This file is part of SALOME ADAO module
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
+
+import optparse
+import sys
+import re
+
+import Traducteur.log as log
+from Traducteur.load         import getJDC, getJDCFromTexte
+from Traducteur.mocles       import parseKeywords
+from Traducteur.dictErreurs  import GenereErreurPourCommande
+from Traducteur.inseremocle  import *
+from Traducteur.movemocle    import *
+from Traducteur.renamemocle  import *
+
+version_out = "V8_1_0"
+
+usage="""Usage: python %prog [options]
+
+Typical use is:
+  python %prog --infile=xxxx.comm --outfile=yyyy.comm"""
+
+atraiter = (
+    "ASSIMILATION_STUDY",
+    "CHECKING_STUDY",
+    )
+
+dict_erreurs = {
+    "ASSIMILATION_STUDY":"Changements dans l'arbre et dans les noms",
+    "CHECKING_STUDY":"Changements dans l'arbre et dans les noms",
+    }
+
+sys.dict_erreurs=dict_erreurs
+
+def traduc(infile=None,outfile=None,texte=None,flog=None):
+    hdlr = log.initialise(flog)
+    if infile is not None:
+        jdc  = getJDC(infile,atraiter)
+    elif texte is not None:
+        jdc  = getJDCFromTexte(texte,atraiter)
+    else:
+        raise ValueError("Traduction du JDC impossible")
+
+    #Parse les mocles des commandes
+    parseKeywords(jdc.root)
+    GenereErreurPourCommande(jdc,('Algorithm','AlgorithmParameters','FunctionDict'))
+    # ==========================================================================
+
+    for command in atraiter:
+        # Insere le MC s'il n'existe pas
+        chercheOperInsereFacteurSiRegle(jdc, command, "AlgorithmParameters",((("AlgorithmParameters",),"nexistepasMCFParmi"),))
+        # Deplace le MC
+        moveMotClefInOperToFact(jdc, command, "Algorithm", "AlgorithmParameters", plusieursFois=False)
+        # Renomme le MC
+        renameMotCleInFact(jdc, command, "AlgorithmParameters", "INPUT_TYPE", "Parameters")
+        # Renomme le MC
+        renameMotCle(jdc, command, "Study_name", "StudyName")
+        renameMotCle(jdc, command, "Study_repertory", "StudyRepertory")
+
+    # ==========================================================================
+    fsrc = jdc.getSource()
+    fsrc = re.sub( "FunctionDict", "ScriptWithSwitch", fsrc )
+    fsrc = re.sub( "FUNCTIONDICT_FILE", "SCRIPTWITHSWITCH_FILE", fsrc )
+    fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
+    fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
+    #
+    log.ferme(hdlr)
+    if outfile is not None:
+        f=open(outfile,'w')
+        f.write( fsrc )
+        f.close()
+    else:
+        return fsrc
+
+class MonTraducteur:
+    def __init__(self,texte):
+        self.__texte = str(texte)
+    def traduit(self):
+        return traduc(infile=None,outfile=None,texte=self.__texte,flog=None)
+
+def main():
+    parser = optparse.OptionParser(usage=usage)
+
+    parser.add_option('-i','--infile', dest="infile",
+        help="Le fichier COMM en entree, a traduire")
+    parser.add_option('-o','--outfile', dest="outfile", default='out.comm',
+        help="Le fichier COMM en sortie, traduit")
+
+    options, args = parser.parse_args()
+    if len(options.infile) == 0:
+        print
+        parser.print_help()
+        print
+        sys.exit(1)
+
+    traduc(options.infile,options.outfile)
+
+if __name__ == '__main__':
+    main()
diff --git a/src/daEficas/traduitADAOV7_5_0ToV7_8_0.py b/src/daEficas/traduitADAOV7_5_0ToV7_8_0.py
deleted file mode 100644 (file)
index c1099d7..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-#-*-coding:iso-8859-1-*-
-#
-# Copyright (C) 2008-2016 EDF R&D
-#
-# This file is part of SALOME ADAO module
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-#
-# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-
-import optparse
-import sys
-import re
-
-import Traducteur.log as log
-from Traducteur.load         import getJDC, getJDCFromTexte
-from Traducteur.mocles       import parseKeywords
-from Traducteur.dictErreurs  import GenereErreurPourCommande
-from Traducteur.inseremocle  import *
-from Traducteur.movemocle    import *
-from Traducteur.renamemocle  import *
-
-version_out = "V7_8_0"
-
-usage="""Usage: python %prog [options]
-
-Typical use is:
-  python %prog --infile=xxxx.comm --outfile=yyyy.comm"""
-
-atraiter = (
-    "ASSIMILATION_STUDY",
-    "CHECKING_STUDY",
-    )
-
-dict_erreurs = {
-    "ASSIMILATION_STUDY":"Changements dans l'arbre et dans les noms",
-    "CHECKING_STUDY":"Changements dans l'arbre et dans les noms",
-    }
-
-sys.dict_erreurs=dict_erreurs
-
-def traduc(infile=None,outfile=None,texte=None,flog=None):
-    hdlr = log.initialise(flog)
-    if infile is not None:
-        jdc  = getJDC(infile,atraiter)
-    elif texte is not None:
-        jdc  = getJDCFromTexte(texte,atraiter)
-    else:
-        raise ValueError("Traduction du JDC impossible")
-
-    #Parse les mocles des commandes
-    parseKeywords(jdc.root)
-    GenereErreurPourCommande(jdc,('Algorithm','AlgorithmParameters','FunctionDict'))
-    # ==========================================================================
-
-    for command in atraiter:
-        # Insere le MC s'il n'existe pas
-        chercheOperInsereFacteurSiRegle(jdc, command, "AlgorithmParameters",((("AlgorithmParameters",),"nexistepasMCFParmi"),))
-        # Deplace le MC
-        moveMotClefInOperToFact(jdc, command, "Algorithm", "AlgorithmParameters", plusieursFois=False)
-        # Renomme le MC
-        renameMotCleInFact(jdc, command, "AlgorithmParameters", "INPUT_TYPE", "Parameters")
-        # Renomme le MC
-        renameMotCle(jdc, command, "Study_name", "StudyName")
-        renameMotCle(jdc, command, "Study_repertory", "StudyRepertory")
-
-    # ==========================================================================
-    fsrc = jdc.getSource()
-    fsrc = re.sub( "FunctionDict", "ScriptWithSwitch", fsrc )
-    fsrc = re.sub( "FUNCTIONDICT_FILE", "SCRIPTWITHSWITCH_FILE", fsrc )
-    fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
-    fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
-    #
-    log.ferme(hdlr)
-    if outfile is not None:
-        f=open(outfile,'w')
-        f.write( fsrc )
-        f.close()
-    else:
-        return fsrc
-
-class MonTraducteur:
-    def __init__(self,texte):
-        self.__texte = str(texte)
-    def traduit(self):
-        return traduc(infile=None,outfile=None,texte=self.__texte,flog=None)
-
-def main():
-    parser = optparse.OptionParser(usage=usage)
-
-    parser.add_option('-i','--infile', dest="infile",
-        help="Le fichier COMM en entree, a traduire")
-    parser.add_option('-o','--outfile', dest="outfile", default='out.comm',
-        help="Le fichier COMM en sortie, traduit")
-
-    options, args = parser.parse_args()
-    if len(options.infile) == 0:
-        print
-        parser.print_help()
-        print
-        sys.exit(1)
-
-    traduc(options.infile,options.outfile)
-
-if __name__ == '__main__':
-    main()
diff --git a/src/daEficas/traduitADAOV7_5_0ToV8_1_0.py b/src/daEficas/traduitADAOV7_5_0ToV8_1_0.py
new file mode 100644 (file)
index 0000000..6709ed7
--- /dev/null
@@ -0,0 +1,118 @@
+#-*-coding:iso-8859-1-*-
+#
+# Copyright (C) 2008-2016 EDF R&D
+#
+# This file is part of SALOME ADAO module
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
+
+import optparse
+import sys
+import re
+
+import Traducteur.log as log
+from Traducteur.load         import getJDC, getJDCFromTexte
+from Traducteur.mocles       import parseKeywords
+from Traducteur.dictErreurs  import GenereErreurPourCommande
+from Traducteur.inseremocle  import *
+from Traducteur.movemocle    import *
+from Traducteur.renamemocle  import *
+
+version_out = "V8_1_0"
+
+usage="""Usage: python %prog [options]
+
+Typical use is:
+  python %prog --infile=xxxx.comm --outfile=yyyy.comm"""
+
+atraiter = (
+    "ASSIMILATION_STUDY",
+    "CHECKING_STUDY",
+    )
+
+dict_erreurs = {
+    "ASSIMILATION_STUDY":"Changements dans l'arbre et dans les noms",
+    "CHECKING_STUDY":"Changements dans l'arbre et dans les noms",
+    }
+
+sys.dict_erreurs=dict_erreurs
+
+def traduc(infile=None,outfile=None,texte=None,flog=None):
+    hdlr = log.initialise(flog)
+    if infile is not None:
+        jdc  = getJDC(infile,atraiter)
+    elif texte is not None:
+        jdc  = getJDCFromTexte(texte,atraiter)
+    else:
+        raise ValueError("Traduction du JDC impossible")
+
+    #Parse les mocles des commandes
+    parseKeywords(jdc.root)
+    GenereErreurPourCommande(jdc,('Algorithm','AlgorithmParameters','FunctionDict'))
+    # ==========================================================================
+
+    for command in atraiter:
+        # Insere le MC s'il n'existe pas
+        chercheOperInsereFacteurSiRegle(jdc, command, "AlgorithmParameters",((("AlgorithmParameters",),"nexistepasMCFParmi"),))
+        # Deplace le MC
+        moveMotClefInOperToFact(jdc, command, "Algorithm", "AlgorithmParameters", plusieursFois=False)
+        # Renomme le MC
+        renameMotCleInFact(jdc, command, "AlgorithmParameters", "INPUT_TYPE", "Parameters")
+        # Renomme le MC
+        renameMotCle(jdc, command, "Study_name", "StudyName")
+        renameMotCle(jdc, command, "Study_repertory", "StudyRepertory")
+
+    # ==========================================================================
+    fsrc = jdc.getSource()
+    fsrc = re.sub( "FunctionDict", "ScriptWithSwitch", fsrc )
+    fsrc = re.sub( "FUNCTIONDICT_FILE", "SCRIPTWITHSWITCH_FILE", fsrc )
+    fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
+    fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
+    #
+    log.ferme(hdlr)
+    if outfile is not None:
+        f=open(outfile,'w')
+        f.write( fsrc )
+        f.close()
+    else:
+        return fsrc
+
+class MonTraducteur:
+    def __init__(self,texte):
+        self.__texte = str(texte)
+    def traduit(self):
+        return traduc(infile=None,outfile=None,texte=self.__texte,flog=None)
+
+def main():
+    parser = optparse.OptionParser(usage=usage)
+
+    parser.add_option('-i','--infile', dest="infile",
+        help="Le fichier COMM en entree, a traduire")
+    parser.add_option('-o','--outfile', dest="outfile", default='out.comm',
+        help="Le fichier COMM en sortie, traduit")
+
+    options, args = parser.parse_args()
+    if len(options.infile) == 0:
+        print
+        parser.print_help()
+        print
+        sys.exit(1)
+
+    traduc(options.infile,options.outfile)
+
+if __name__ == '__main__':
+    main()
diff --git a/src/daEficas/traduitADAOV7_5_1ToV7_8_0.py b/src/daEficas/traduitADAOV7_5_1ToV7_8_0.py
deleted file mode 100644 (file)
index c1099d7..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-#-*-coding:iso-8859-1-*-
-#
-# Copyright (C) 2008-2016 EDF R&D
-#
-# This file is part of SALOME ADAO module
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-#
-# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-
-import optparse
-import sys
-import re
-
-import Traducteur.log as log
-from Traducteur.load         import getJDC, getJDCFromTexte
-from Traducteur.mocles       import parseKeywords
-from Traducteur.dictErreurs  import GenereErreurPourCommande
-from Traducteur.inseremocle  import *
-from Traducteur.movemocle    import *
-from Traducteur.renamemocle  import *
-
-version_out = "V7_8_0"
-
-usage="""Usage: python %prog [options]
-
-Typical use is:
-  python %prog --infile=xxxx.comm --outfile=yyyy.comm"""
-
-atraiter = (
-    "ASSIMILATION_STUDY",
-    "CHECKING_STUDY",
-    )
-
-dict_erreurs = {
-    "ASSIMILATION_STUDY":"Changements dans l'arbre et dans les noms",
-    "CHECKING_STUDY":"Changements dans l'arbre et dans les noms",
-    }
-
-sys.dict_erreurs=dict_erreurs
-
-def traduc(infile=None,outfile=None,texte=None,flog=None):
-    hdlr = log.initialise(flog)
-    if infile is not None:
-        jdc  = getJDC(infile,atraiter)
-    elif texte is not None:
-        jdc  = getJDCFromTexte(texte,atraiter)
-    else:
-        raise ValueError("Traduction du JDC impossible")
-
-    #Parse les mocles des commandes
-    parseKeywords(jdc.root)
-    GenereErreurPourCommande(jdc,('Algorithm','AlgorithmParameters','FunctionDict'))
-    # ==========================================================================
-
-    for command in atraiter:
-        # Insere le MC s'il n'existe pas
-        chercheOperInsereFacteurSiRegle(jdc, command, "AlgorithmParameters",((("AlgorithmParameters",),"nexistepasMCFParmi"),))
-        # Deplace le MC
-        moveMotClefInOperToFact(jdc, command, "Algorithm", "AlgorithmParameters", plusieursFois=False)
-        # Renomme le MC
-        renameMotCleInFact(jdc, command, "AlgorithmParameters", "INPUT_TYPE", "Parameters")
-        # Renomme le MC
-        renameMotCle(jdc, command, "Study_name", "StudyName")
-        renameMotCle(jdc, command, "Study_repertory", "StudyRepertory")
-
-    # ==========================================================================
-    fsrc = jdc.getSource()
-    fsrc = re.sub( "FunctionDict", "ScriptWithSwitch", fsrc )
-    fsrc = re.sub( "FUNCTIONDICT_FILE", "SCRIPTWITHSWITCH_FILE", fsrc )
-    fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
-    fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
-    #
-    log.ferme(hdlr)
-    if outfile is not None:
-        f=open(outfile,'w')
-        f.write( fsrc )
-        f.close()
-    else:
-        return fsrc
-
-class MonTraducteur:
-    def __init__(self,texte):
-        self.__texte = str(texte)
-    def traduit(self):
-        return traduc(infile=None,outfile=None,texte=self.__texte,flog=None)
-
-def main():
-    parser = optparse.OptionParser(usage=usage)
-
-    parser.add_option('-i','--infile', dest="infile",
-        help="Le fichier COMM en entree, a traduire")
-    parser.add_option('-o','--outfile', dest="outfile", default='out.comm',
-        help="Le fichier COMM en sortie, traduit")
-
-    options, args = parser.parse_args()
-    if len(options.infile) == 0:
-        print
-        parser.print_help()
-        print
-        sys.exit(1)
-
-    traduc(options.infile,options.outfile)
-
-if __name__ == '__main__':
-    main()
diff --git a/src/daEficas/traduitADAOV7_5_1ToV8_1_0.py b/src/daEficas/traduitADAOV7_5_1ToV8_1_0.py
new file mode 100644 (file)
index 0000000..6709ed7
--- /dev/null
@@ -0,0 +1,118 @@
+#-*-coding:iso-8859-1-*-
+#
+# Copyright (C) 2008-2016 EDF R&D
+#
+# This file is part of SALOME ADAO module
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
+
+import optparse
+import sys
+import re
+
+import Traducteur.log as log
+from Traducteur.load         import getJDC, getJDCFromTexte
+from Traducteur.mocles       import parseKeywords
+from Traducteur.dictErreurs  import GenereErreurPourCommande
+from Traducteur.inseremocle  import *
+from Traducteur.movemocle    import *
+from Traducteur.renamemocle  import *
+
+version_out = "V8_1_0"
+
+usage="""Usage: python %prog [options]
+
+Typical use is:
+  python %prog --infile=xxxx.comm --outfile=yyyy.comm"""
+
+atraiter = (
+    "ASSIMILATION_STUDY",
+    "CHECKING_STUDY",
+    )
+
+dict_erreurs = {
+    "ASSIMILATION_STUDY":"Changements dans l'arbre et dans les noms",
+    "CHECKING_STUDY":"Changements dans l'arbre et dans les noms",
+    }
+
+sys.dict_erreurs=dict_erreurs
+
+def traduc(infile=None,outfile=None,texte=None,flog=None):
+    hdlr = log.initialise(flog)
+    if infile is not None:
+        jdc  = getJDC(infile,atraiter)
+    elif texte is not None:
+        jdc  = getJDCFromTexte(texte,atraiter)
+    else:
+        raise ValueError("Traduction du JDC impossible")
+
+    #Parse les mocles des commandes
+    parseKeywords(jdc.root)
+    GenereErreurPourCommande(jdc,('Algorithm','AlgorithmParameters','FunctionDict'))
+    # ==========================================================================
+
+    for command in atraiter:
+        # Insere le MC s'il n'existe pas
+        chercheOperInsereFacteurSiRegle(jdc, command, "AlgorithmParameters",((("AlgorithmParameters",),"nexistepasMCFParmi"),))
+        # Deplace le MC
+        moveMotClefInOperToFact(jdc, command, "Algorithm", "AlgorithmParameters", plusieursFois=False)
+        # Renomme le MC
+        renameMotCleInFact(jdc, command, "AlgorithmParameters", "INPUT_TYPE", "Parameters")
+        # Renomme le MC
+        renameMotCle(jdc, command, "Study_name", "StudyName")
+        renameMotCle(jdc, command, "Study_repertory", "StudyRepertory")
+
+    # ==========================================================================
+    fsrc = jdc.getSource()
+    fsrc = re.sub( "FunctionDict", "ScriptWithSwitch", fsrc )
+    fsrc = re.sub( "FUNCTIONDICT_FILE", "SCRIPTWITHSWITCH_FILE", fsrc )
+    fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
+    fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
+    #
+    log.ferme(hdlr)
+    if outfile is not None:
+        f=open(outfile,'w')
+        f.write( fsrc )
+        f.close()
+    else:
+        return fsrc
+
+class MonTraducteur:
+    def __init__(self,texte):
+        self.__texte = str(texte)
+    def traduit(self):
+        return traduc(infile=None,outfile=None,texte=self.__texte,flog=None)
+
+def main():
+    parser = optparse.OptionParser(usage=usage)
+
+    parser.add_option('-i','--infile', dest="infile",
+        help="Le fichier COMM en entree, a traduire")
+    parser.add_option('-o','--outfile', dest="outfile", default='out.comm',
+        help="Le fichier COMM en sortie, traduit")
+
+    options, args = parser.parse_args()
+    if len(options.infile) == 0:
+        print
+        parser.print_help()
+        print
+        sys.exit(1)
+
+    traduc(options.infile,options.outfile)
+
+if __name__ == '__main__':
+    main()
diff --git a/src/daEficas/traduitADAOV7_6_0ToV7_8_0.py b/src/daEficas/traduitADAOV7_6_0ToV7_8_0.py
deleted file mode 100644 (file)
index bb1f43c..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-#-*-coding:iso-8859-1-*-
-#
-# Copyright (C) 2008-2016 EDF R&D
-#
-# This file is part of SALOME ADAO module
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-#
-# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-
-import optparse
-import sys
-import re
-
-import Traducteur.log as log
-from Traducteur.load         import getJDC, getJDCFromTexte
-from Traducteur.mocles       import parseKeywords
-from Traducteur.dictErreurs  import GenereErreurPourCommande
-from Traducteur.inseremocle  import *
-from Traducteur.movemocle    import *
-from Traducteur.renamemocle  import *
-
-version_out = "V7_8_0"
-
-usage="""Usage: python %prog [options]
-
-Typical use is:
-  python %prog --infile=xxxx.comm --outfile=yyyy.comm"""
-
-atraiter = (
-    )
-
-dict_erreurs = {
-    }
-
-sys.dict_erreurs=dict_erreurs
-
-def traduc(infile=None,outfile=None,texte=None,flog=None):
-    hdlr = log.initialise(flog)
-    if infile is not None:
-        jdc  = getJDC(infile,atraiter)
-    elif texte is not None:
-        jdc  = getJDCFromTexte(texte,atraiter)
-    else:
-        raise ValueError("Traduction du JDC impossible")
-    # ==========================================================================
-
-
-    # ==========================================================================
-    fsrc = jdc.getSource()
-    fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
-    fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
-    #
-    log.ferme(hdlr)
-    if outfile is not None:
-        f=open(outfile,'w')
-        f.write( fsrc )
-        f.close()
-    else:
-        return fsrc
-
-class MonTraducteur:
-    def __init__(self,texte):
-        self.__texte = str(texte)
-    def traduit(self):
-        return traduc(infile=None,outfile=None,texte=self.__texte,flog=None)
-
-def main():
-    parser = optparse.OptionParser(usage=usage)
-
-    parser.add_option('-i','--infile', dest="infile",
-        help="Le fichier COMM en entree, a traduire")
-    parser.add_option('-o','--outfile', dest="outfile", default='out.comm',
-        help="Le fichier COMM en sortie, traduit")
-
-    options, args = parser.parse_args()
-    if len(options.infile) == 0:
-        print
-        parser.print_help()
-        print
-        sys.exit(1)
-
-    traduc(options.infile,options.outfile)
-
-if __name__ == '__main__':
-    main()
diff --git a/src/daEficas/traduitADAOV7_6_0ToV8_1_0.py b/src/daEficas/traduitADAOV7_6_0ToV8_1_0.py
new file mode 100644 (file)
index 0000000..a252c68
--- /dev/null
@@ -0,0 +1,98 @@
+#-*-coding:iso-8859-1-*-
+#
+# Copyright (C) 2008-2016 EDF R&D
+#
+# This file is part of SALOME ADAO module
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
+
+import optparse
+import sys
+import re
+
+import Traducteur.log as log
+from Traducteur.load         import getJDC, getJDCFromTexte
+from Traducteur.mocles       import parseKeywords
+from Traducteur.dictErreurs  import GenereErreurPourCommande
+from Traducteur.inseremocle  import *
+from Traducteur.movemocle    import *
+from Traducteur.renamemocle  import *
+
+version_out = "V8_1_0"
+
+usage="""Usage: python %prog [options]
+
+Typical use is:
+  python %prog --infile=xxxx.comm --outfile=yyyy.comm"""
+
+atraiter = (
+    )
+
+dict_erreurs = {
+    }
+
+sys.dict_erreurs=dict_erreurs
+
+def traduc(infile=None,outfile=None,texte=None,flog=None):
+    hdlr = log.initialise(flog)
+    if infile is not None:
+        jdc  = getJDC(infile,atraiter)
+    elif texte is not None:
+        jdc  = getJDCFromTexte(texte,atraiter)
+    else:
+        raise ValueError("Traduction du JDC impossible")
+    # ==========================================================================
+
+
+    # ==========================================================================
+    fsrc = jdc.getSource()
+    fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
+    fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
+    #
+    log.ferme(hdlr)
+    if outfile is not None:
+        f=open(outfile,'w')
+        f.write( fsrc )
+        f.close()
+    else:
+        return fsrc
+
+class MonTraducteur:
+    def __init__(self,texte):
+        self.__texte = str(texte)
+    def traduit(self):
+        return traduc(infile=None,outfile=None,texte=self.__texte,flog=None)
+
+def main():
+    parser = optparse.OptionParser(usage=usage)
+
+    parser.add_option('-i','--infile', dest="infile",
+        help="Le fichier COMM en entree, a traduire")
+    parser.add_option('-o','--outfile', dest="outfile", default='out.comm',
+        help="Le fichier COMM en sortie, traduit")
+
+    options, args = parser.parse_args()
+    if len(options.infile) == 0:
+        print
+        parser.print_help()
+        print
+        sys.exit(1)
+
+    traduc(options.infile,options.outfile)
+
+if __name__ == '__main__':
+    main()
diff --git a/src/daEficas/traduitADAOV7_7_0ToV7_8_0.py b/src/daEficas/traduitADAOV7_7_0ToV7_8_0.py
deleted file mode 100644 (file)
index bb1f43c..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-#-*-coding:iso-8859-1-*-
-#
-# Copyright (C) 2008-2016 EDF R&D
-#
-# This file is part of SALOME ADAO module
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-#
-# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-
-import optparse
-import sys
-import re
-
-import Traducteur.log as log
-from Traducteur.load         import getJDC, getJDCFromTexte
-from Traducteur.mocles       import parseKeywords
-from Traducteur.dictErreurs  import GenereErreurPourCommande
-from Traducteur.inseremocle  import *
-from Traducteur.movemocle    import *
-from Traducteur.renamemocle  import *
-
-version_out = "V7_8_0"
-
-usage="""Usage: python %prog [options]
-
-Typical use is:
-  python %prog --infile=xxxx.comm --outfile=yyyy.comm"""
-
-atraiter = (
-    )
-
-dict_erreurs = {
-    }
-
-sys.dict_erreurs=dict_erreurs
-
-def traduc(infile=None,outfile=None,texte=None,flog=None):
-    hdlr = log.initialise(flog)
-    if infile is not None:
-        jdc  = getJDC(infile,atraiter)
-    elif texte is not None:
-        jdc  = getJDCFromTexte(texte,atraiter)
-    else:
-        raise ValueError("Traduction du JDC impossible")
-    # ==========================================================================
-
-
-    # ==========================================================================
-    fsrc = jdc.getSource()
-    fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
-    fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
-    #
-    log.ferme(hdlr)
-    if outfile is not None:
-        f=open(outfile,'w')
-        f.write( fsrc )
-        f.close()
-    else:
-        return fsrc
-
-class MonTraducteur:
-    def __init__(self,texte):
-        self.__texte = str(texte)
-    def traduit(self):
-        return traduc(infile=None,outfile=None,texte=self.__texte,flog=None)
-
-def main():
-    parser = optparse.OptionParser(usage=usage)
-
-    parser.add_option('-i','--infile', dest="infile",
-        help="Le fichier COMM en entree, a traduire")
-    parser.add_option('-o','--outfile', dest="outfile", default='out.comm',
-        help="Le fichier COMM en sortie, traduit")
-
-    options, args = parser.parse_args()
-    if len(options.infile) == 0:
-        print
-        parser.print_help()
-        print
-        sys.exit(1)
-
-    traduc(options.infile,options.outfile)
-
-if __name__ == '__main__':
-    main()
diff --git a/src/daEficas/traduitADAOV7_7_0ToV8_1_0.py b/src/daEficas/traduitADAOV7_7_0ToV8_1_0.py
new file mode 100644 (file)
index 0000000..a252c68
--- /dev/null
@@ -0,0 +1,98 @@
+#-*-coding:iso-8859-1-*-
+#
+# Copyright (C) 2008-2016 EDF R&D
+#
+# This file is part of SALOME ADAO module
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
+
+import optparse
+import sys
+import re
+
+import Traducteur.log as log
+from Traducteur.load         import getJDC, getJDCFromTexte
+from Traducteur.mocles       import parseKeywords
+from Traducteur.dictErreurs  import GenereErreurPourCommande
+from Traducteur.inseremocle  import *
+from Traducteur.movemocle    import *
+from Traducteur.renamemocle  import *
+
+version_out = "V8_1_0"
+
+usage="""Usage: python %prog [options]
+
+Typical use is:
+  python %prog --infile=xxxx.comm --outfile=yyyy.comm"""
+
+atraiter = (
+    )
+
+dict_erreurs = {
+    }
+
+sys.dict_erreurs=dict_erreurs
+
+def traduc(infile=None,outfile=None,texte=None,flog=None):
+    hdlr = log.initialise(flog)
+    if infile is not None:
+        jdc  = getJDC(infile,atraiter)
+    elif texte is not None:
+        jdc  = getJDCFromTexte(texte,atraiter)
+    else:
+        raise ValueError("Traduction du JDC impossible")
+    # ==========================================================================
+
+
+    # ==========================================================================
+    fsrc = jdc.getSource()
+    fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
+    fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
+    #
+    log.ferme(hdlr)
+    if outfile is not None:
+        f=open(outfile,'w')
+        f.write( fsrc )
+        f.close()
+    else:
+        return fsrc
+
+class MonTraducteur:
+    def __init__(self,texte):
+        self.__texte = str(texte)
+    def traduit(self):
+        return traduc(infile=None,outfile=None,texte=self.__texte,flog=None)
+
+def main():
+    parser = optparse.OptionParser(usage=usage)
+
+    parser.add_option('-i','--infile', dest="infile",
+        help="Le fichier COMM en entree, a traduire")
+    parser.add_option('-o','--outfile', dest="outfile", default='out.comm',
+        help="Le fichier COMM en sortie, traduit")
+
+    options, args = parser.parse_args()
+    if len(options.infile) == 0:
+        print
+        parser.print_help()
+        print
+        sys.exit(1)
+
+    traduc(options.infile,options.outfile)
+
+if __name__ == '__main__':
+    main()
diff --git a/src/daEficas/traduitADAOV7_8_0ToV8_1_0.py b/src/daEficas/traduitADAOV7_8_0ToV8_1_0.py
new file mode 100644 (file)
index 0000000..a252c68
--- /dev/null
@@ -0,0 +1,98 @@
+#-*-coding:iso-8859-1-*-
+#
+# Copyright (C) 2008-2016 EDF R&D
+#
+# This file is part of SALOME ADAO module
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
+
+import optparse
+import sys
+import re
+
+import Traducteur.log as log
+from Traducteur.load         import getJDC, getJDCFromTexte
+from Traducteur.mocles       import parseKeywords
+from Traducteur.dictErreurs  import GenereErreurPourCommande
+from Traducteur.inseremocle  import *
+from Traducteur.movemocle    import *
+from Traducteur.renamemocle  import *
+
+version_out = "V8_1_0"
+
+usage="""Usage: python %prog [options]
+
+Typical use is:
+  python %prog --infile=xxxx.comm --outfile=yyyy.comm"""
+
+atraiter = (
+    )
+
+dict_erreurs = {
+    }
+
+sys.dict_erreurs=dict_erreurs
+
+def traduc(infile=None,outfile=None,texte=None,flog=None):
+    hdlr = log.initialise(flog)
+    if infile is not None:
+        jdc  = getJDC(infile,atraiter)
+    elif texte is not None:
+        jdc  = getJDCFromTexte(texte,atraiter)
+    else:
+        raise ValueError("Traduction du JDC impossible")
+    # ==========================================================================
+
+
+    # ==========================================================================
+    fsrc = jdc.getSource()
+    fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
+    fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
+    #
+    log.ferme(hdlr)
+    if outfile is not None:
+        f=open(outfile,'w')
+        f.write( fsrc )
+        f.close()
+    else:
+        return fsrc
+
+class MonTraducteur:
+    def __init__(self,texte):
+        self.__texte = str(texte)
+    def traduit(self):
+        return traduc(infile=None,outfile=None,texte=self.__texte,flog=None)
+
+def main():
+    parser = optparse.OptionParser(usage=usage)
+
+    parser.add_option('-i','--infile', dest="infile",
+        help="Le fichier COMM en entree, a traduire")
+    parser.add_option('-o','--outfile', dest="outfile", default='out.comm',
+        help="Le fichier COMM en sortie, traduit")
+
+    options, args = parser.parse_args()
+    if len(options.infile) == 0:
+        print
+        parser.print_help()
+        print
+        sys.exit(1)
+
+    traduc(options.infile,options.outfile)
+
+if __name__ == '__main__':
+    main()
diff --git a/src/daEficas/traduitADAOsansToV7_8_0.py b/src/daEficas/traduitADAOsansToV7_8_0.py
deleted file mode 100644 (file)
index c1099d7..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-#-*-coding:iso-8859-1-*-
-#
-# Copyright (C) 2008-2016 EDF R&D
-#
-# This file is part of SALOME ADAO module
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-#
-# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-
-import optparse
-import sys
-import re
-
-import Traducteur.log as log
-from Traducteur.load         import getJDC, getJDCFromTexte
-from Traducteur.mocles       import parseKeywords
-from Traducteur.dictErreurs  import GenereErreurPourCommande
-from Traducteur.inseremocle  import *
-from Traducteur.movemocle    import *
-from Traducteur.renamemocle  import *
-
-version_out = "V7_8_0"
-
-usage="""Usage: python %prog [options]
-
-Typical use is:
-  python %prog --infile=xxxx.comm --outfile=yyyy.comm"""
-
-atraiter = (
-    "ASSIMILATION_STUDY",
-    "CHECKING_STUDY",
-    )
-
-dict_erreurs = {
-    "ASSIMILATION_STUDY":"Changements dans l'arbre et dans les noms",
-    "CHECKING_STUDY":"Changements dans l'arbre et dans les noms",
-    }
-
-sys.dict_erreurs=dict_erreurs
-
-def traduc(infile=None,outfile=None,texte=None,flog=None):
-    hdlr = log.initialise(flog)
-    if infile is not None:
-        jdc  = getJDC(infile,atraiter)
-    elif texte is not None:
-        jdc  = getJDCFromTexte(texte,atraiter)
-    else:
-        raise ValueError("Traduction du JDC impossible")
-
-    #Parse les mocles des commandes
-    parseKeywords(jdc.root)
-    GenereErreurPourCommande(jdc,('Algorithm','AlgorithmParameters','FunctionDict'))
-    # ==========================================================================
-
-    for command in atraiter:
-        # Insere le MC s'il n'existe pas
-        chercheOperInsereFacteurSiRegle(jdc, command, "AlgorithmParameters",((("AlgorithmParameters",),"nexistepasMCFParmi"),))
-        # Deplace le MC
-        moveMotClefInOperToFact(jdc, command, "Algorithm", "AlgorithmParameters", plusieursFois=False)
-        # Renomme le MC
-        renameMotCleInFact(jdc, command, "AlgorithmParameters", "INPUT_TYPE", "Parameters")
-        # Renomme le MC
-        renameMotCle(jdc, command, "Study_name", "StudyName")
-        renameMotCle(jdc, command, "Study_repertory", "StudyRepertory")
-
-    # ==========================================================================
-    fsrc = jdc.getSource()
-    fsrc = re.sub( "FunctionDict", "ScriptWithSwitch", fsrc )
-    fsrc = re.sub( "FUNCTIONDICT_FILE", "SCRIPTWITHSWITCH_FILE", fsrc )
-    fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
-    fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
-    #
-    log.ferme(hdlr)
-    if outfile is not None:
-        f=open(outfile,'w')
-        f.write( fsrc )
-        f.close()
-    else:
-        return fsrc
-
-class MonTraducteur:
-    def __init__(self,texte):
-        self.__texte = str(texte)
-    def traduit(self):
-        return traduc(infile=None,outfile=None,texte=self.__texte,flog=None)
-
-def main():
-    parser = optparse.OptionParser(usage=usage)
-
-    parser.add_option('-i','--infile', dest="infile",
-        help="Le fichier COMM en entree, a traduire")
-    parser.add_option('-o','--outfile', dest="outfile", default='out.comm',
-        help="Le fichier COMM en sortie, traduit")
-
-    options, args = parser.parse_args()
-    if len(options.infile) == 0:
-        print
-        parser.print_help()
-        print
-        sys.exit(1)
-
-    traduc(options.infile,options.outfile)
-
-if __name__ == '__main__':
-    main()
diff --git a/src/daEficas/traduitADAOsansToV8_1_0.py b/src/daEficas/traduitADAOsansToV8_1_0.py
new file mode 100644 (file)
index 0000000..6709ed7
--- /dev/null
@@ -0,0 +1,118 @@
+#-*-coding:iso-8859-1-*-
+#
+# Copyright (C) 2008-2016 EDF R&D
+#
+# This file is part of SALOME ADAO module
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
+
+import optparse
+import sys
+import re
+
+import Traducteur.log as log
+from Traducteur.load         import getJDC, getJDCFromTexte
+from Traducteur.mocles       import parseKeywords
+from Traducteur.dictErreurs  import GenereErreurPourCommande
+from Traducteur.inseremocle  import *
+from Traducteur.movemocle    import *
+from Traducteur.renamemocle  import *
+
+version_out = "V8_1_0"
+
+usage="""Usage: python %prog [options]
+
+Typical use is:
+  python %prog --infile=xxxx.comm --outfile=yyyy.comm"""
+
+atraiter = (
+    "ASSIMILATION_STUDY",
+    "CHECKING_STUDY",
+    )
+
+dict_erreurs = {
+    "ASSIMILATION_STUDY":"Changements dans l'arbre et dans les noms",
+    "CHECKING_STUDY":"Changements dans l'arbre et dans les noms",
+    }
+
+sys.dict_erreurs=dict_erreurs
+
+def traduc(infile=None,outfile=None,texte=None,flog=None):
+    hdlr = log.initialise(flog)
+    if infile is not None:
+        jdc  = getJDC(infile,atraiter)
+    elif texte is not None:
+        jdc  = getJDCFromTexte(texte,atraiter)
+    else:
+        raise ValueError("Traduction du JDC impossible")
+
+    #Parse les mocles des commandes
+    parseKeywords(jdc.root)
+    GenereErreurPourCommande(jdc,('Algorithm','AlgorithmParameters','FunctionDict'))
+    # ==========================================================================
+
+    for command in atraiter:
+        # Insere le MC s'il n'existe pas
+        chercheOperInsereFacteurSiRegle(jdc, command, "AlgorithmParameters",((("AlgorithmParameters",),"nexistepasMCFParmi"),))
+        # Deplace le MC
+        moveMotClefInOperToFact(jdc, command, "Algorithm", "AlgorithmParameters", plusieursFois=False)
+        # Renomme le MC
+        renameMotCleInFact(jdc, command, "AlgorithmParameters", "INPUT_TYPE", "Parameters")
+        # Renomme le MC
+        renameMotCle(jdc, command, "Study_name", "StudyName")
+        renameMotCle(jdc, command, "Study_repertory", "StudyRepertory")
+
+    # ==========================================================================
+    fsrc = jdc.getSource()
+    fsrc = re.sub( "FunctionDict", "ScriptWithSwitch", fsrc )
+    fsrc = re.sub( "FUNCTIONDICT_FILE", "SCRIPTWITHSWITCH_FILE", fsrc )
+    fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
+    fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
+    #
+    log.ferme(hdlr)
+    if outfile is not None:
+        f=open(outfile,'w')
+        f.write( fsrc )
+        f.close()
+    else:
+        return fsrc
+
+class MonTraducteur:
+    def __init__(self,texte):
+        self.__texte = str(texte)
+    def traduit(self):
+        return traduc(infile=None,outfile=None,texte=self.__texte,flog=None)
+
+def main():
+    parser = optparse.OptionParser(usage=usage)
+
+    parser.add_option('-i','--infile', dest="infile",
+        help="Le fichier COMM en entree, a traduire")
+    parser.add_option('-o','--outfile', dest="outfile", default='out.comm',
+        help="Le fichier COMM en sortie, traduit")
+
+    options, args = parser.parse_args()
+    if len(options.infile) == 0:
+        print
+        parser.print_help()
+        print
+        sys.exit(1)
+
+    traduc(options.infile,options.outfile)
+
+if __name__ == '__main__':
+    main()