#! /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)
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):
__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)