import os
import sys
-# Preliminary work to initialize path to SALOME Python modules
-def __initialize():
- currentPath = os.path.dirname( os.path.abspath( __file__ ) )
- homePath = os.path.realpath(os.path.expanduser('~'))
- appliPath = os.path.relpath(currentPath, homePath)
-
- pattern = "/bin/salome/appliskel"
- if appliPath.endswith(pattern):
- appliPath = appliPath[:-len(pattern)]
-
- absoluteAppliPath = os.path.join(homePath, appliPath)
- os.environ['APPLI'] = appliPath # needed to convert .sh environment files
- os.environ['ABSOLUTE_APPLI_PATH'] = absoluteAppliPath
-
- 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):
# Identify application path then locate configuration files
- __initialize()
+ currentPath = os.path.dirname( os.path.abspath( __file__ ) )
+ launcherFile = os.path.basename(__file__)
+ from salome_starter import initialize
+ initialize(currentPath, launcherFile)
- if args == ['--help']:
+ if len(args) == 1 and args[0] in ['--help', 'help', '-h', '--h']:
from salomeContext import usage
usage()
sys.exit(0)
sys.exit(1)
# Create a SalomeContext which parses configFileNames to initialize environment
+ from salomeContextUtils import SalomeContextException
try:
- from salomeContext import SalomeContext, SalomeContextException
+ from salomeContext import SalomeContext
context = SalomeContext(configFileNames)
# Here set specific variables, if needed
# context.setVariable('myvarname', 'value')
# Start SALOME, parsing command line arguments
- context.runSalome(args)
+ (out, err), returncode = context.runSalome(args)
+ if out:
+ sys.stdout.write(out)
+ if err:
+ sys.stderr.write(err)
#print 'Thank you for using SALOME!'
-
+ sys.exit(returncode)
except SalomeContextException, e:
import logging
logging.getLogger("salome").error(e)