Salome HOME
rename salome runner/launcher as salome context
[modules/kernel.git] / bin / appliskel / salome
index 41e0883dc28270418112226f9eea35db12b1d856..e61b6cbab6c3fcfb9d96043a328ebec13427d381 100755 (executable)
@@ -1,11 +1,30 @@
 #! /usr/bin/env python
 
+# Copyright (C) 2013-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+#
+# 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, or (at your option) any later version.
+#
+# 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
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 import os
 import sys
 
 # Preliminary work to initialize path to SALOME Python modules
 def __initialize():
-  currentPath = os.path.dirname(__file__)
+  currentPath = os.path.dirname( os.path.abspath( __file__ ) )
   homePath = os.path.realpath(os.path.expanduser('~'))
   appliPath = os.path.relpath(currentPath, homePath)
 
@@ -17,14 +36,15 @@ def __initialize():
   os.environ['APPLI'] = appliPath # needed to convert .sh environment files
   os.environ['ABSOLUTE_APPLI_PATH'] = absoluteAppliPath
 
-  # define folder to store omniorb config (initially in virtual application folder)
-  #omniorbUserPath = os.path.join(homePath, ".salomeConfig/USERS")
-  omniorbUserPath = os.path.join(homePath, appliPath, "USERS")
-  os.environ['OMNIORB_USER_PATH'] = omniorbUserPath
-  if not os.path.exists(omniorbUserPath):
-    os.makedirs(omniorbUserPath)
-
   sys.path[:0] = [absoluteAppliPath+'/bin/salome']
+
+  # define folder to store omniorb config (initially in virtual application folder)
+  try:
+    from salomeContextUtils import setOmniOrbUserPath
+    setOmniOrbUserPath()
+  except Exception, e:
+    print e
+    sys.exit(1)
 # End of preliminary work
 
 def main(args):
@@ -32,54 +52,32 @@ def main(args):
   __initialize()
 
   if args == ['--help']:
-    from salomeRunner import usage
+    from salomeContext import usage
     usage()
     sys.exit(0)
 
-
-  from salomeLauncherUtils import getConfigFileNames
-  configFileNames, args = getConfigFileNames(args)
-
-  # WHY? Incorrect/Inexisting files are supposed to be ignored by SalomeRunner.
-  # Might simply need bug fix; please provide test case.
-  error=False
-  for aFile in configFileNames:
-    if not os.path.isfile(aFile):
-      print "ERROR: inexisting file: "+aFile
-      error=True
-  if error:
+  from salomeContextUtils import getConfigFileNames
+  configFileNames, args, unexisting = getConfigFileNames(args, checkExistence=True)
+  if len(unexisting) > 0:
+    print "ERROR: unexisting configuration file(s): " + ', '.join(unexisting)
     sys.exit(1)
 
-
-  # Create a SalomeRunner which parses configFileNames to initialize environment
+  # Create a SalomeContext which parses configFileNames to initialize environment
   try:
-    from salomeRunner import SalomeRunner, SalomeRunnerException
-    runner = SalomeRunner(configFileNames)
+    from salomeContext import SalomeContext, SalomeContextException
+    context = SalomeContext(configFileNames)
 
     # Here set specific variables, if needed
-    # runner.addToPath('mypath')
-    # runner.addToLdLibraryPath('myldlibrarypath')
-    # runner.addToPythonPath('mypythonpath')
-    # runner.setEnviron('myvarname', 'value')
-
-    kernel_root_dir = os.getenv("KERNEL_ROOT_DIR")
-    if kernel_root_dir:
-      runner.addToLdLibraryPath(os.path.join(kernel_root_dir, "lib/salome"))
-
-    gui_root_dir = os.getenv("GUI_ROOT_DIR")
-    if gui_root_dir:
-      runner.addToLdLibraryPath(os.path.join(gui_root_dir, "lib/salome"))
-
-    paravis_root_dir = os.getenv("PARAVIS_ROOT_DIR")
-    if paravis_root_dir:
-      runner.addToLdLibraryPath(os.path.join(paravis_root_dir, "lib/salome"))
-
+    # context.addToPath('mypath')
+    # context.addToLdLibraryPath('myldlibrarypath')
+    # context.addToPythonPath('mypythonpath')
+    # context.setEnviron('myvarname', 'value')
 
     # Start SALOME, parsing command line arguments
-    runner.go(args)
-    print 'Thank you for using SALOME!'
+    context.go(args)
+    #print 'Thank you for using SALOME!'
 
-  except SalomeRunnerException, e:
+  except SalomeContextException, e:
     import logging
     logging.getLogger("salome").error(e)
     sys.exit(1)