Salome HOME
Merge Python 3 porting.
authorrnv <rnv@opencascade.com>
Thu, 22 Jun 2017 16:45:01 +0000 (19:45 +0300)
committerrnv <rnv@opencascade.com>
Tue, 27 Jun 2017 16:29:37 +0000 (19:29 +0300)
36 files changed:
1  2 
src/engine_swig/CMakeLists.txt
src/engine_swig/pilot.i
src/evalyfx_swig/CMakeLists.txt
src/runtime/CMakeLists.txt
src/runtime/DistributedPythonNode.cxx
src/runtime/PythonNode.cxx
src/runtime/RuntimeSALOME.cxx
src/runtime/RuntimeSALOME.hxx
src/runtime/StudyNodes.cxx
src/runtime_swig/CMakeLists.txt
src/runtime_swig/SALOMERuntime.i
src/salomeloader/samples/testvisu20.xml
src/wrappergen/bin/HXX2SALOME_GENERIC_CLASS_NAME_SRC/bin/runSalome.py
src/wrappergen/src/HXX2SALOME_GENERIC_CLASS_NAME_SRC/bin/runSalome.py
src/yacsloader/samples/foreach7.xml
src/yacsloader/samples/foreach_init2fin.xml
src/yacsloader/samples/gobj1.xml
src/yacsloader/samples/optimizer_async_cpp.xml
src/yacsloader/samples/optimizer_async_py.xml
src/yacsloader/samples/optimizer_sync_cpp.xml
src/yacsloader/samples/optimizer_sync_py.xml
src/yacsloader/samples/pyremote1.xml
src/yacsloader/samples/pyremote2.xml
src/yacsloader/samples/pyremote3.xml
src/yacsloader/samples/pyremote4.xml
src/yacsloader/samples/schema2.xml
src/yacsloader/samples/schemaANN2.xml
src/yacsloader/samples/schemaANNLR2.xml
src/yacsloader/samples/schemaLR2.xml
src/yacsloader/samples/schemaPmmlDoesNotExist.xml
src/yacsloader/samples/sinline1.xml
src/yacsloader/samples/sinline4.xml
src/yacsloader/samples/study1.xml
src/yacsloader/samples/switch10.xml
src/yacsloader_swig/CMakeLists.txt
src/yacsloader_swig/Test/testSaveLoadRun.py

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 6b0a32f2529acffbf519d380006102a5e67754a3,42282c0eb3c09d006d52262b81053c13909abadd..0d9349030e2009b57714f0ae9268de87a99016c0
@@@ -24,8 -24,8 +24,9 @@@
  #include "TypeCode.hxx"
  #include "SalomeProc.hxx"
  
+ #include "Basics_Utils.hxx"
  #include "SALOME_NamingService.hxx"
 +#include "SALOME_KernelServices.hxx"
  #include "SALOMEDS.hh"
  #include "SALOMEDS_Attributes.hh"
  
@@@ -225,7 -312,7 +226,7 @@@ void StudyOutNode::execute(
    // save in file if ref is given
    if(_ref != "")
      {
-         KERNEL::getStudyServant()->SaveAs(_ref.c_str(), false, false);
 -      aStudyManager->SaveAs(Kernel_Utils::decode_s(_ref),myStudy, false);
++      KERNEL::getStudyServant()->SaveAs(Kernel_Utils::decode_s( _ref ), false, false);
      }
    DEBTRACE("+++++++ end StudyOutNode::execute +++++++++++" );
  }
Simple merge
Simple merge
index e087e44d5aeaa394c9f9c31a758ae98663e83b57,61f005ebbf931bd7adfb901dac049472f6554589..fc0d95ff63d4c7c32f1bb2a44dfab8751b41ddd4
        <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb)                     ]]></PyFunc>
        <PyFunc><![CDATA[    # --- create a naming service instance              ]]></PyFunc>
        <PyFunc><![CDATA[    naming_service = SALOME_NamingServicePy_i(orb)    ]]></PyFunc>
 -      <PyFunc><![CDATA[    # --- get Study Manager reference                     ]]></PyFunc>
 -      <PyFunc><![CDATA[    obj = naming_service.Resolve('myStudyManager')    ]]></PyFunc>
 -      <PyFunc><![CDATA[    StudyManager = obj._narrow(SALOMEDS.StudyManager)    ]]></PyFunc>
        <PyFunc><![CDATA[    # --- load visu component                          ]]></PyFunc>
        <PyFunc><![CDATA[    aVisu = lcc.FindOrLoadComponent("FactoryServer","VISU")       ]]></PyFunc>
-       <PyFunc><![CDATA[    print "InitDisplay --> aVisu ", aVisu         ]]></PyFunc>
 -      <PyFunc><![CDATA[    aStudy = StudyManager.GetStudyByID(1)      ]]></PyFunc>
 -      <PyFunc><![CDATA[    aVisu.SetCurrentStudy(aStudy)      ]]></PyFunc>
+       <PyFunc><![CDATA[    print("InitDisplay --> aVisu ", aVisu)         ]]></PyFunc>
        <PyFunc><![CDATA[    time.sleep(2)         ]]></PyFunc>
        <PyFunc><![CDATA[    aViewManager=aVisu.GetViewManager()         ]]></PyFunc>
-       <PyFunc><![CDATA[    print "InitDisplay --> aViewManager ", aViewManager         ]]></PyFunc>
+       <PyFunc><![CDATA[    print("InitDisplay --> aViewManager ", aViewManager)         ]]></PyFunc>
        <PyFunc><![CDATA[    #time.sleep(2)         ]]></PyFunc>
        <PyFunc><![CDATA[    #aView=aViewManager.GetCurrentView()         ]]></PyFunc>
        <PyFunc><![CDATA[    aView=aViewManager.Create3DView()         ]]></PyFunc>
index aee8a99b4c516901dee6b97bbcadd01e05c06200,cb1d7b05e99b7fea35b0cdf472f8c2c3b9c4d709..ab53018b439d78607f049758faf7a255e22d2e44
@@@ -23,20 -23,20 +23,20 @@@ usage="""USAGE: runSalome.py [options
  [command line options] :
  --help                        : affichage de l'aide
  --gui                         : lancement du GUI
- --logger                    : redirection des messages dans un fichier
- --xterm                             : les serveurs ouvrent une fen�tre xterm et les messages sont affich�s dans cette fen�tre
- --modules=module1,module2,... : o� modulen est le nom d'un module Salome � charger dans le catalogue
+ --logger                      : redirection des messages dans un fichier
 ---xterm                       : les serveurs ouvrent une fenêtre xterm et les messages sont affichés dans cette fenêtre
 ---modules=module1,module2,... : où modulen est le nom d'un module Salome à charger dans le catalogue
++--xterm                       : les serveurs ouvrent une fen??tre xterm et les messages sont affich??s dans cette fen??tre
++--modules=module1,module2,... : o?? modulen est le nom d'un module Salome ?? charger dans le catalogue
  --containers=cpp,python,superv: lancement des containers cpp, python et de supervision
- --killall                   : arr�t des serveurs de salome
 ---killall                     : arrêt des serveurs de salome
++--killall                     : arr??t des serveurs de salome
  
-  La variable d'environnement <modulen>_ROOT_DIR doit etre pr�alablement
-  positionn�e (modulen doit etre en majuscule).
 - La variable d'environnement <modulen>_ROOT_DIR doit etre préalablement
 - positionnée (modulen doit etre en majuscule).
++ La variable d'environnement <modulen>_ROOT_DIR doit etre pr??alablement
++ positionn??e (modulen doit etre en majuscule).
   KERNEL_ROOT_DIR est obligatoire.
  """
  
  # -----------------------------------------------------------------------------
  #
- # Fonction d'arr�t de salome
 -# Fonction d'arrêt de salome
++# Fonction d'arr??t de salome
  #
  
  def killSalome():
@@@ -128,27 -128,27 +128,27 @@@ except getopt.error as msg
  
  # -----------------------------------------------------------------------------
  #
- # V�rification des variables d'environnement
 -# Vérification des variables d'environnement
++# V??rification des variables d'environnement
  #
  try:
-   kernel_root_dir=os.environ["KERNEL_ROOT_DIR"]
-   modules_root_dir["KERNEL"]=kernel_root_dir
+     kernel_root_dir=os.environ["KERNEL_ROOT_DIR"]
+     modules_root_dir["KERNEL"]=kernel_root_dir
  except:
-   print usage
-   sys.exit(1)
+     print(usage)
+     sys.exit(1)
  
  for module in liste_modules :
-    try:
-       module=module.upper()
-       module_root_dir=os.environ[module +"_ROOT_DIR"]
-       modules_root_dir[module]=module_root_dir
-    except:
-       print usage
-       sys.exit(1)
+     try:
+         module=module.upper()
+         module_root_dir=os.environ[module +"_ROOT_DIR"]
+         modules_root_dir[module]=module_root_dir
+     except:
+         print(usage)
+         sys.exit(1)
  
  # il faut KERNEL en premier dans la liste des modules
  # - l'ordre des modules dans le catalogue sera identique
- # - la liste des modules presents dans le catalogue est exploit�e pour charger les modules CORBA python,
 -# - la liste des modules presents dans le catalogue est exploitée pour charger les modules CORBA python,
++# - la liste des modules presents dans le catalogue est exploit??e pour charger les modules CORBA python,
  #   il faut charger les modules python du KERNEL en premier
  
  if "KERNEL" in liste_modules:liste_modules.remove("KERNEL")
@@@ -162,7 -162,7 +162,7 @@@ if "SUPERV" in liste_modules:with_conta
  
  # -----------------------------------------------------------------------------
  #
- # D�finition des classes d'objets pour le lancement des Server CORBA
 -# Définition des classes d'objets pour le lancement des Server CORBA
++# D??finition des classes d'objets pour le lancement des Server CORBA
  #
  
  class Server:
@@@ -319,206 -319,205 +319,205 @@@ def startGUI()
  
  def startSalome():
  
-   #
-   # Lancement Session Loader
-   #
-   SessionLoader().run()
-   #
-   # Initialisation ORB et Naming Service
-   #
-   clt=orbmodule.client()
-   # (non obligatoire) Lancement Logger Server et attente de sa 
-   #  disponibilite dans le naming service
-   #
-   if with_logger:
-       LoggerServer().run()
-       clt.waitLogger("Logger")
-   #
-   # Lancement Registry Server
-   #
-   RegistryServer().run()
-   #
-   # Attente de la disponibilit� du Registry dans le Naming Service
-   #
-   clt.waitNS("/Registry")
-   #
-   # Lancement Catalog Server
-   #
-   cataServer=CatalogServer()
-   cataServer.setpath(liste_modules)
-   cataServer.run()
-   #
-   # Attente de la disponibilit� du Catalog Server dans le Naming Service
-   #
-   import SALOME_ModuleCatalog
-   clt.waitNS("/Kernel/ModulCatalog",SALOME_ModuleCatalog.ModuleCatalog)
-   #
-   # Lancement SalomeDS Server
-   #
-   os.environ["CSF_PluginDefaults"]=os.path.join(kernel_root_dir,"share","salome","resources")
-   os.environ["CSF_SALOMEDS_ResourcesDefaults"]=os.path.join(kernel_root_dir,"share","salome","resources")
-   SalomeDSServer().run()
-   if "GEOM" in liste_modules:
-       print "GEOM OCAF Resources"
-       os.environ["CSF_GEOMDS_ResourcesDefaults"]=os.path.join(modules_root_dir["GEOM"],"share","salome","resources")
-   #
-   # Attente de la disponibilit� du SalomeDS dans le Naming Service
-   #
-   clt.waitNS("/Study")
-   #
-   # Lancement Session Server
-   #
-   SessionServer().run()
-   #
-   # Attente de la disponibilit� du Session Server dans le Naming Service
-   #
-   import SALOME
-   session=clt.waitNS("/Kernel/Session",SALOME.Session)
-   #
-   # Lancement containers
-   #
-   theComputer = os.getenv("HOSTNAME")
-   theComputer = theComputer.split('.')[0]
-   #
-   # Lancement Container C++ local
-   #
-   if with_container_cpp:
-         ContainerCPPServer().run()
-         #
-         # Attente de la disponibilit� du Container C++ local 
-           # dans le Naming Service
-         #
-         clt.waitNS("/Containers/" + theComputer + "/FactoryServer")
-   #
-   # Lancement Container Python local
-   #
-   if with_container_python:
-         ContainerPYServer().run()
-         #
-         # Attente de la disponibilit� du Container Python local 
-           #  dans le Naming Service
-         #
-         clt.waitNS("/Containers/" + theComputer + "/FactoryServerPy")
-   if with_container_superv:
-       #
-       # Lancement Container Supervision local
-       #
-       ContainerSUPERVServer().run()
-       #
-       # Attente de la disponibilit� du Container Supervision local 
+     #
+     # Lancement Session Loader
+     #
+     SessionLoader().run()
+     #
+     # Initialisation ORB et Naming Service
+     #
+     clt=orbmodule.client()
+     # (non obligatoire) Lancement Logger Server et attente de sa
+     #  disponibilite dans le naming service
+     #
+     if with_logger:
+         LoggerServer().run()
+         clt.waitLogger("Logger")
+     #
+     # Lancement Registry Server
+     #
+     RegistryServer().run()
+     #
 -    # Attente de la disponibilité du Registry dans le Naming Service
++    # Attente de la disponibilit?? du Registry dans le Naming Service
+     #
+     clt.waitNS("/Registry")
+     #
+     # Lancement Catalog Server
+     #
+     cataServer=CatalogServer()
+     cataServer.setpath(liste_modules)
+     cataServer.run()
+     #
 -    # Attente de la disponibilité du Catalog Server dans le Naming Service
++    # Attente de la disponibilit?? du Catalog Server dans le Naming Service
+     #
+     import SALOME_ModuleCatalog
+     clt.waitNS("/Kernel/ModulCatalog",SALOME_ModuleCatalog.ModuleCatalog)
+     #
+     # Lancement SalomeDS Server
+     #
+     os.environ["CSF_PluginDefaults"]=os.path.join(kernel_root_dir,"share","salome","resources")
+     os.environ["CSF_SALOMEDS_ResourcesDefaults"]=os.path.join(kernel_root_dir,"share","salome","resources")
+     SalomeDSServer().run()
+     if "GEOM" in liste_modules:
+         print("GEOM OCAF Resources")
+         os.environ["CSF_GEOMDS_ResourcesDefaults"]=os.path.join(modules_root_dir["GEOM"],"share","salome","resources")
+     #
 -    # Attente de la disponibilité du SalomeDS dans le Naming Service
++    # Attente de la disponibilit?? du SalomeDS dans le Naming Service
+     #
+     clt.waitNS("/myStudyManager")
+     #
+     # Lancement Session Server
+     #
+     SessionServer().run()
+     #
 -    # Attente de la disponibilité du Session Server dans le Naming Service
++    # Attente de la disponibilit?? du Session Server dans le Naming Service
+     #
+     import SALOME
+     session=clt.waitNS("/Kernel/Session",SALOME.Session)
+     #
+     # Lancement containers
+     #
+     theComputer = os.getenv("HOSTNAME")
+     theComputer = theComputer.split('.')[0]
+     #
+     # Lancement Container C++ local
+     #
+     if with_container_cpp:
+         ContainerCPPServer().run()
+         #
 -        # Attente de la disponibilité du Container C++ local
++        # Attente de la disponibilit?? du Container C++ local
          # dans le Naming Service
-       #
-       clt.waitNS("/Containers/" + theComputer + "/SuperVisionContainer")
-   #
-   # Activation du GUI de Session Server
-   #
-   #session.GetInterface()
+         #
+         clt.waitNS("/Containers/" + theComputer + "/FactoryServer")
+     #
+     # Lancement Container Python local
+     #
+     if with_container_python:
+         ContainerPYServer().run()
+         #
 -        # Attente de la disponibilité du Container Python local
++        # Attente de la disponibilit?? du Container Python local
+         #  dans le Naming Service
+         #
+         clt.waitNS("/Containers/" + theComputer + "/FactoryServerPy")
+     if with_container_superv:
+         #
+         # Lancement Container Supervision local
+         #
+         ContainerSUPERVServer().run()
+         #
 -        # Attente de la disponibilité du Container Supervision local
++        # Attente de la disponibilit?? du Container Supervision local
+         # dans le Naming Service
+         #
+         clt.waitNS("/Containers/" + theComputer + "/SuperVisionContainer")
+     #
+     # Activation du GUI de Session Server
+     #
+     #session.GetInterface()
  
-   end_time = os.times()
-   print
-   print "Start SALOME, elpased time : %5.1f seconds"% (end_time[4] - init_time[4])
+     end_time = os.times()
+     print()
+     print("Start SALOME, elpased time : %5.1f seconds"% (end_time[4] - init_time[4]))
  
-   return clt
+     return clt
  
  #
  # -----------------------------------------------------------------------------
  #
  
  if __name__ == "__main__":
-    clt=None
-    try:
-       clt = startSalome()
-    except:
-       print
-       print
-       print "--- erreur au lancement Salome ---"
-    
-    #print process_id
-    
-    
-    filedict='/tmp/'+os.getenv('USER')+'_SALOME_pidict'
-    #filedict='/tmp/'+os.getlogin()+'_SALOME_pidict'
-    
-    fpid=open(filedict, 'w')
-    pickle.dump(process_id,fpid)
-    fpid.close()
-    
-    print """
- Sauvegarde du dictionnaire des process dans , %s
- Pour tuer les process SALOME, executer : python killSalome.py depuis
- une console, ou bien killSalome() depuis le present interpreteur,
- s'il n'est pas ferm�.
- runSalome, avec l'option --killall, commence par tuer les process restants 
- d'une execution pr�c�dente.
- Pour lancer uniquement le GUI, executer startGUI() depuis le present interpreteur,
- s'il n'est pas ferm�.
- """ % filedict
-    
-    #
-    #  Impression arborescence Naming Service
-    #
-    
-    if clt != None:
-      print
-      print " --- registered objects tree in Naming Service ---"
-      clt.showNS()
-      session=clt.waitNS("/Kernel/Session")
-      catalog=clt.waitNS("/Kernel/ModulCatalog")
-      import socket
-      container =  clt.waitNS("/Containers/" + socket.gethostname().split('.')[0] + "/FactoryServerPy")
-    
-    if os.path.isfile("~/.salome/pystartup"):
-       f=open(os.path.expanduser("~/.salome/pystartup"),'w')
-       PYTHONSTARTUP=f.read()
-       f.close()
-    else:
-       PYTHONSTARTUP="""
- # Add auto-completion and a stored history file of commands to your Python
- # interactive interpreter. Requires Python 2.0+, readline. Autocomplete is
- # bound to the TAB key by default (you can change it - see readline docs).
- #
- # Store the history in ~/.salome/pyhistory, 
- #
- import atexit
- import os
- import readline
- import rlcompleter
- readline.parse_and_bind('tab: complete')
+     clt=None
+     try:
+         clt = startSalome()
+     except:
+         print()
+         print()
+         print("--- erreur au lancement Salome ---")
+     #print process_id
+     filedict='/tmp/'+os.getenv('USER')+'_SALOME_pidict'
+     #filedict='/tmp/'+os.getlogin()+'_SALOME_pidict'
+     fpid=open(filedict, 'w')
+     pickle.dump(process_id,fpid)
+     fpid.close()
+     print("""
+  Sauvegarde du dictionnaire des process dans , %s
+  Pour tuer les process SALOME, executer : python killSalome.py depuis
+  une console, ou bien killSalome() depuis le present interpreteur,
 - s'il n'est pas fermé.
++ s'il n'est pas ferm??.
+  runSalome, avec l'option --killall, commence par tuer les process restants
 - d'une execution précédente.
++ d'une execution pr??c??dente.
+  Pour lancer uniquement le GUI, executer startGUI() depuis le present interpreteur,
 - s'il n'est pas fermé.
++ s'il n'est pas ferm??.
+  """ % filedict)
+     #
+     #  Impression arborescence Naming Service
+     #
+     if clt != None:
+         print()
+         print(" --- registered objects tree in Naming Service ---")
+         clt.showNS()
+         session=clt.waitNS("/Kernel/Session")
+         catalog=clt.waitNS("/Kernel/ModulCatalog")
+         import socket
+         container =  clt.waitNS("/Containers/" + socket.gethostname().split('.')[0] + "/FactoryServerPy")
+     if os.path.isfile("~/.salome/pystartup"):
+         f=open(os.path.expanduser("~/.salome/pystartup"),'w')
+         PYTHONSTARTUP=f.read()
+         f.close()
+     else:
+         PYTHONSTARTUP="""
+   # Add auto-completion and a stored history file of commands to your Python
+   # interactive interpreter. Requires Python 2.0+, readline. Autocomplete is
+   # bound to the TAB key by default (you can change it - see readline docs).
+   #
+   # Store the history in ~/.salome/pyhistory,
+   #
+   import atexit
+   import os
+   import readline
+   import rlcompleter
+   readline.parse_and_bind('tab: complete')
  
- historyPath = os.path.expanduser("~/.salome/pyhistory")
  historyPath = os.path.expanduser("~/.salome/pyhistory")
  
- def save_history(historyPath=historyPath):
-     import readline
-     readline.write_history_file(historyPath)
  def save_history(historyPath=historyPath):
+       import readline
+       readline.write_history_file(historyPath)
  
- if os.path.exists(historyPath):
-     readline.read_history_file(historyPath)
  if os.path.exists(historyPath):
+       readline.read_history_file(historyPath)
  
- atexit.register(save_history)
- del os, atexit, readline, rlcompleter, save_history, historyPath
- """
-       f=open(os.path.expanduser("~/.salome/pystartup"),'w')
-       f.write(PYTHONSTARTUP)
-       f.close()
  atexit.register(save_history)
  del os, atexit, readline, rlcompleter, save_history, historyPath
  """
+         f=open(os.path.expanduser("~/.salome/pystartup"),'w')
+         f.write(PYTHONSTARTUP)
+         f.close()
  
-    exec PYTHONSTARTUP in {}
-    
+     exec(PYTHONSTARTUP, {})
index aee8a99b4c516901dee6b97bbcadd01e05c06200,cb1d7b05e99b7fea35b0cdf472f8c2c3b9c4d709..ab53018b439d78607f049758faf7a255e22d2e44
@@@ -23,20 -23,20 +23,20 @@@ usage="""USAGE: runSalome.py [options
  [command line options] :
  --help                        : affichage de l'aide
  --gui                         : lancement du GUI
- --logger                    : redirection des messages dans un fichier
- --xterm                             : les serveurs ouvrent une fen�tre xterm et les messages sont affich�s dans cette fen�tre
- --modules=module1,module2,... : o� modulen est le nom d'un module Salome � charger dans le catalogue
+ --logger                      : redirection des messages dans un fichier
 ---xterm                       : les serveurs ouvrent une fenêtre xterm et les messages sont affichés dans cette fenêtre
 ---modules=module1,module2,... : où modulen est le nom d'un module Salome à charger dans le catalogue
++--xterm                       : les serveurs ouvrent une fen??tre xterm et les messages sont affich??s dans cette fen??tre
++--modules=module1,module2,... : o?? modulen est le nom d'un module Salome ?? charger dans le catalogue
  --containers=cpp,python,superv: lancement des containers cpp, python et de supervision
- --killall                   : arr�t des serveurs de salome
 ---killall                     : arrêt des serveurs de salome
++--killall                     : arr??t des serveurs de salome
  
-  La variable d'environnement <modulen>_ROOT_DIR doit etre pr�alablement
-  positionn�e (modulen doit etre en majuscule).
 - La variable d'environnement <modulen>_ROOT_DIR doit etre préalablement
 - positionnée (modulen doit etre en majuscule).
++ La variable d'environnement <modulen>_ROOT_DIR doit etre pr??alablement
++ positionn??e (modulen doit etre en majuscule).
   KERNEL_ROOT_DIR est obligatoire.
  """
  
  # -----------------------------------------------------------------------------
  #
- # Fonction d'arr�t de salome
 -# Fonction d'arrêt de salome
++# Fonction d'arr??t de salome
  #
  
  def killSalome():
@@@ -128,27 -128,27 +128,27 @@@ except getopt.error as msg
  
  # -----------------------------------------------------------------------------
  #
- # V�rification des variables d'environnement
 -# Vérification des variables d'environnement
++# V??rification des variables d'environnement
  #
  try:
-   kernel_root_dir=os.environ["KERNEL_ROOT_DIR"]
-   modules_root_dir["KERNEL"]=kernel_root_dir
+     kernel_root_dir=os.environ["KERNEL_ROOT_DIR"]
+     modules_root_dir["KERNEL"]=kernel_root_dir
  except:
-   print usage
-   sys.exit(1)
+     print(usage)
+     sys.exit(1)
  
  for module in liste_modules :
-    try:
-       module=module.upper()
-       module_root_dir=os.environ[module +"_ROOT_DIR"]
-       modules_root_dir[module]=module_root_dir
-    except:
-       print usage
-       sys.exit(1)
+     try:
+         module=module.upper()
+         module_root_dir=os.environ[module +"_ROOT_DIR"]
+         modules_root_dir[module]=module_root_dir
+     except:
+         print(usage)
+         sys.exit(1)
  
  # il faut KERNEL en premier dans la liste des modules
  # - l'ordre des modules dans le catalogue sera identique
- # - la liste des modules presents dans le catalogue est exploit�e pour charger les modules CORBA python,
 -# - la liste des modules presents dans le catalogue est exploitée pour charger les modules CORBA python,
++# - la liste des modules presents dans le catalogue est exploit??e pour charger les modules CORBA python,
  #   il faut charger les modules python du KERNEL en premier
  
  if "KERNEL" in liste_modules:liste_modules.remove("KERNEL")
@@@ -162,7 -162,7 +162,7 @@@ if "SUPERV" in liste_modules:with_conta
  
  # -----------------------------------------------------------------------------
  #
- # D�finition des classes d'objets pour le lancement des Server CORBA
 -# Définition des classes d'objets pour le lancement des Server CORBA
++# D??finition des classes d'objets pour le lancement des Server CORBA
  #
  
  class Server:
@@@ -319,206 -319,205 +319,205 @@@ def startGUI()
  
  def startSalome():
  
-   #
-   # Lancement Session Loader
-   #
-   SessionLoader().run()
-   #
-   # Initialisation ORB et Naming Service
-   #
-   clt=orbmodule.client()
-   # (non obligatoire) Lancement Logger Server et attente de sa 
-   #  disponibilite dans le naming service
-   #
-   if with_logger:
-       LoggerServer().run()
-       clt.waitLogger("Logger")
-   #
-   # Lancement Registry Server
-   #
-   RegistryServer().run()
-   #
-   # Attente de la disponibilit� du Registry dans le Naming Service
-   #
-   clt.waitNS("/Registry")
-   #
-   # Lancement Catalog Server
-   #
-   cataServer=CatalogServer()
-   cataServer.setpath(liste_modules)
-   cataServer.run()
-   #
-   # Attente de la disponibilit� du Catalog Server dans le Naming Service
-   #
-   import SALOME_ModuleCatalog
-   clt.waitNS("/Kernel/ModulCatalog",SALOME_ModuleCatalog.ModuleCatalog)
-   #
-   # Lancement SalomeDS Server
-   #
-   os.environ["CSF_PluginDefaults"]=os.path.join(kernel_root_dir,"share","salome","resources")
-   os.environ["CSF_SALOMEDS_ResourcesDefaults"]=os.path.join(kernel_root_dir,"share","salome","resources")
-   SalomeDSServer().run()
-   if "GEOM" in liste_modules:
-       print "GEOM OCAF Resources"
-       os.environ["CSF_GEOMDS_ResourcesDefaults"]=os.path.join(modules_root_dir["GEOM"],"share","salome","resources")
-   #
-   # Attente de la disponibilit� du SalomeDS dans le Naming Service
-   #
-   clt.waitNS("/Study")
-   #
-   # Lancement Session Server
-   #
-   SessionServer().run()
-   #
-   # Attente de la disponibilit� du Session Server dans le Naming Service
-   #
-   import SALOME
-   session=clt.waitNS("/Kernel/Session",SALOME.Session)
-   #
-   # Lancement containers
-   #
-   theComputer = os.getenv("HOSTNAME")
-   theComputer = theComputer.split('.')[0]
-   #
-   # Lancement Container C++ local
-   #
-   if with_container_cpp:
-         ContainerCPPServer().run()
-         #
-         # Attente de la disponibilit� du Container C++ local 
-           # dans le Naming Service
-         #
-         clt.waitNS("/Containers/" + theComputer + "/FactoryServer")
-   #
-   # Lancement Container Python local
-   #
-   if with_container_python:
-         ContainerPYServer().run()
-         #
-         # Attente de la disponibilit� du Container Python local 
-           #  dans le Naming Service
-         #
-         clt.waitNS("/Containers/" + theComputer + "/FactoryServerPy")
-   if with_container_superv:
-       #
-       # Lancement Container Supervision local
-       #
-       ContainerSUPERVServer().run()
-       #
-       # Attente de la disponibilit� du Container Supervision local 
+     #
+     # Lancement Session Loader
+     #
+     SessionLoader().run()
+     #
+     # Initialisation ORB et Naming Service
+     #
+     clt=orbmodule.client()
+     # (non obligatoire) Lancement Logger Server et attente de sa
+     #  disponibilite dans le naming service
+     #
+     if with_logger:
+         LoggerServer().run()
+         clt.waitLogger("Logger")
+     #
+     # Lancement Registry Server
+     #
+     RegistryServer().run()
+     #
 -    # Attente de la disponibilité du Registry dans le Naming Service
++    # Attente de la disponibilit?? du Registry dans le Naming Service
+     #
+     clt.waitNS("/Registry")
+     #
+     # Lancement Catalog Server
+     #
+     cataServer=CatalogServer()
+     cataServer.setpath(liste_modules)
+     cataServer.run()
+     #
 -    # Attente de la disponibilité du Catalog Server dans le Naming Service
++    # Attente de la disponibilit?? du Catalog Server dans le Naming Service
+     #
+     import SALOME_ModuleCatalog
+     clt.waitNS("/Kernel/ModulCatalog",SALOME_ModuleCatalog.ModuleCatalog)
+     #
+     # Lancement SalomeDS Server
+     #
+     os.environ["CSF_PluginDefaults"]=os.path.join(kernel_root_dir,"share","salome","resources")
+     os.environ["CSF_SALOMEDS_ResourcesDefaults"]=os.path.join(kernel_root_dir,"share","salome","resources")
+     SalomeDSServer().run()
+     if "GEOM" in liste_modules:
+         print("GEOM OCAF Resources")
+         os.environ["CSF_GEOMDS_ResourcesDefaults"]=os.path.join(modules_root_dir["GEOM"],"share","salome","resources")
+     #
 -    # Attente de la disponibilité du SalomeDS dans le Naming Service
++    # Attente de la disponibilit?? du SalomeDS dans le Naming Service
+     #
+     clt.waitNS("/myStudyManager")
+     #
+     # Lancement Session Server
+     #
+     SessionServer().run()
+     #
 -    # Attente de la disponibilité du Session Server dans le Naming Service
++    # Attente de la disponibilit?? du Session Server dans le Naming Service
+     #
+     import SALOME
+     session=clt.waitNS("/Kernel/Session",SALOME.Session)
+     #
+     # Lancement containers
+     #
+     theComputer = os.getenv("HOSTNAME")
+     theComputer = theComputer.split('.')[0]
+     #
+     # Lancement Container C++ local
+     #
+     if with_container_cpp:
+         ContainerCPPServer().run()
+         #
 -        # Attente de la disponibilité du Container C++ local
++        # Attente de la disponibilit?? du Container C++ local
          # dans le Naming Service
-       #
-       clt.waitNS("/Containers/" + theComputer + "/SuperVisionContainer")
-   #
-   # Activation du GUI de Session Server
-   #
-   #session.GetInterface()
+         #
+         clt.waitNS("/Containers/" + theComputer + "/FactoryServer")
+     #
+     # Lancement Container Python local
+     #
+     if with_container_python:
+         ContainerPYServer().run()
+         #
 -        # Attente de la disponibilité du Container Python local
++        # Attente de la disponibilit?? du Container Python local
+         #  dans le Naming Service
+         #
+         clt.waitNS("/Containers/" + theComputer + "/FactoryServerPy")
+     if with_container_superv:
+         #
+         # Lancement Container Supervision local
+         #
+         ContainerSUPERVServer().run()
+         #
 -        # Attente de la disponibilité du Container Supervision local
++        # Attente de la disponibilit?? du Container Supervision local
+         # dans le Naming Service
+         #
+         clt.waitNS("/Containers/" + theComputer + "/SuperVisionContainer")
+     #
+     # Activation du GUI de Session Server
+     #
+     #session.GetInterface()
  
-   end_time = os.times()
-   print
-   print "Start SALOME, elpased time : %5.1f seconds"% (end_time[4] - init_time[4])
+     end_time = os.times()
+     print()
+     print("Start SALOME, elpased time : %5.1f seconds"% (end_time[4] - init_time[4]))
  
-   return clt
+     return clt
  
  #
  # -----------------------------------------------------------------------------
  #
  
  if __name__ == "__main__":
-    clt=None
-    try:
-       clt = startSalome()
-    except:
-       print
-       print
-       print "--- erreur au lancement Salome ---"
-    
-    #print process_id
-    
-    
-    filedict='/tmp/'+os.getenv('USER')+'_SALOME_pidict'
-    #filedict='/tmp/'+os.getlogin()+'_SALOME_pidict'
-    
-    fpid=open(filedict, 'w')
-    pickle.dump(process_id,fpid)
-    fpid.close()
-    
-    print """
- Sauvegarde du dictionnaire des process dans , %s
- Pour tuer les process SALOME, executer : python killSalome.py depuis
- une console, ou bien killSalome() depuis le present interpreteur,
- s'il n'est pas ferm�.
- runSalome, avec l'option --killall, commence par tuer les process restants 
- d'une execution pr�c�dente.
- Pour lancer uniquement le GUI, executer startGUI() depuis le present interpreteur,
- s'il n'est pas ferm�.
- """ % filedict
-    
-    #
-    #  Impression arborescence Naming Service
-    #
-    
-    if clt != None:
-      print
-      print " --- registered objects tree in Naming Service ---"
-      clt.showNS()
-      session=clt.waitNS("/Kernel/Session")
-      catalog=clt.waitNS("/Kernel/ModulCatalog")
-      import socket
-      container =  clt.waitNS("/Containers/" + socket.gethostname().split('.')[0] + "/FactoryServerPy")
-    
-    if os.path.isfile("~/.salome/pystartup"):
-       f=open(os.path.expanduser("~/.salome/pystartup"),'w')
-       PYTHONSTARTUP=f.read()
-       f.close()
-    else:
-       PYTHONSTARTUP="""
- # Add auto-completion and a stored history file of commands to your Python
- # interactive interpreter. Requires Python 2.0+, readline. Autocomplete is
- # bound to the TAB key by default (you can change it - see readline docs).
- #
- # Store the history in ~/.salome/pyhistory, 
- #
- import atexit
- import os
- import readline
- import rlcompleter
- readline.parse_and_bind('tab: complete')
+     clt=None
+     try:
+         clt = startSalome()
+     except:
+         print()
+         print()
+         print("--- erreur au lancement Salome ---")
+     #print process_id
+     filedict='/tmp/'+os.getenv('USER')+'_SALOME_pidict'
+     #filedict='/tmp/'+os.getlogin()+'_SALOME_pidict'
+     fpid=open(filedict, 'w')
+     pickle.dump(process_id,fpid)
+     fpid.close()
+     print("""
+  Sauvegarde du dictionnaire des process dans , %s
+  Pour tuer les process SALOME, executer : python killSalome.py depuis
+  une console, ou bien killSalome() depuis le present interpreteur,
 - s'il n'est pas fermé.
++ s'il n'est pas ferm??.
+  runSalome, avec l'option --killall, commence par tuer les process restants
 - d'une execution précédente.
++ d'une execution pr??c??dente.
+  Pour lancer uniquement le GUI, executer startGUI() depuis le present interpreteur,
 - s'il n'est pas fermé.
++ s'il n'est pas ferm??.
+  """ % filedict)
+     #
+     #  Impression arborescence Naming Service
+     #
+     if clt != None:
+         print()
+         print(" --- registered objects tree in Naming Service ---")
+         clt.showNS()
+         session=clt.waitNS("/Kernel/Session")
+         catalog=clt.waitNS("/Kernel/ModulCatalog")
+         import socket
+         container =  clt.waitNS("/Containers/" + socket.gethostname().split('.')[0] + "/FactoryServerPy")
+     if os.path.isfile("~/.salome/pystartup"):
+         f=open(os.path.expanduser("~/.salome/pystartup"),'w')
+         PYTHONSTARTUP=f.read()
+         f.close()
+     else:
+         PYTHONSTARTUP="""
+   # Add auto-completion and a stored history file of commands to your Python
+   # interactive interpreter. Requires Python 2.0+, readline. Autocomplete is
+   # bound to the TAB key by default (you can change it - see readline docs).
+   #
+   # Store the history in ~/.salome/pyhistory,
+   #
+   import atexit
+   import os
+   import readline
+   import rlcompleter
+   readline.parse_and_bind('tab: complete')
  
- historyPath = os.path.expanduser("~/.salome/pyhistory")
  historyPath = os.path.expanduser("~/.salome/pyhistory")
  
- def save_history(historyPath=historyPath):
-     import readline
-     readline.write_history_file(historyPath)
  def save_history(historyPath=historyPath):
+       import readline
+       readline.write_history_file(historyPath)
  
- if os.path.exists(historyPath):
-     readline.read_history_file(historyPath)
  if os.path.exists(historyPath):
+       readline.read_history_file(historyPath)
  
- atexit.register(save_history)
- del os, atexit, readline, rlcompleter, save_history, historyPath
- """
-       f=open(os.path.expanduser("~/.salome/pystartup"),'w')
-       f.write(PYTHONSTARTUP)
-       f.close()
  atexit.register(save_history)
  del os, atexit, readline, rlcompleter, save_history, historyPath
  """
+         f=open(os.path.expanduser("~/.salome/pystartup"),'w')
+         f.write(PYTHONSTARTUP)
+         f.close()
  
-    exec PYTHONSTARTUP in {}
-    
+     exec(PYTHONSTARTUP, {})
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index c783348a3ebfb68d08c206a0ba1f3a01d1505849,ea4ccbd5af48989905129ef7a1a3954572301063..894f1e14a7e9f88a35b8cb574922fb1208ba7a8f
@@@ -53,8 -53,8 +53,8 @@@
          <code>  param['hostname']=machine</code>
          <code>  param['container_name']=container</code>
          <code>  compo=salome.lcc.LoadComponent(param, "HELLO")</code>
-         <code>  print compo.hello(p1)</code>
-         <code>  print p1</code>
 -        <code>  print(compo.hello(salome.myStudy, p1))</code>
++        <code>  print(compo.hello(p1))</code>
+         <code>  print(p1)</code>
        </function>
        <load container="A"/>
        <inport name="p1" type="string"/>
@@@ -89,8 -89,8 +89,8 @@@
          <code>  param['hostname']=machine</code>
          <code>  param['container_name']=container</code>
          <code>  compo=salome.lcc.LoadComponent(param, "HELLO")</code>
-         <code>  print compo.hello(p1)</code>
-         <code>  print p1</code>
 -        <code>  print(compo.hello(salome.myStudy, p1))</code>
++        <code>  print(compo.hello(p1))</code>
+         <code>  print(p1)</code>
        </function>
        <inport name="p1" type="string"/>
      </sinline>
index aa30bb781fae81dc5bea005097f4bd3ff54fdf79,51a8d20414fc5c82435cdab30b45c8d1a18596ac..3a453009416f8c1ea71b569ef97f471b838f0f9b
@@@ -55,8 -55,8 +55,8 @@@
          <code>  param['hostname']=machine</code>
          <code>  param['container_name']=container</code>
          <code>  compo=salome.lcc.LoadComponent(param, "HELLO")</code>
-         <code>  print compo.hello(p1)</code>
-         <code>  print p1</code>
 -        <code>  print(compo.hello(salome.myStudy, p1))</code>
++        <code>  print(compo.hello(p1))</code>
+         <code>  print(p1)</code>
        </function>
        <load container="A"/>
        <inport name="p1" type="string"/>
@@@ -91,8 -91,8 +91,8 @@@
          <code>  param['hostname']=machine</code>
          <code>  param['container_name']=container</code>
          <code>  compo=salome.lcc.LoadComponent(param, "HELLO")</code>
-         <code>  print compo.hello(p1)</code>
-         <code>  print p1</code>
 -        <code>  print(compo.hello(salome.myStudy, p1))</code>
++        <code>  print(compo.hello(p1))</code>
+         <code>  print(p1)</code>
        </function>
        <inport name="p1" type="string"/>
      </sinline>
Simple merge
Simple merge
Simple merge