- # Identify application path then locate configuration files
- __initialize()
-
- if args == ['--help']:
- from salomeRunner 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:
- sys.exit(1)
-
-
- # Create a SalomeRunner which parses configFileNames to initialize environment
- try:
- from salomeRunner import SalomeRunner, SalomeRunnerException
- runner = SalomeRunner(configFileNames)
-
- # Here set specific variables, if needed
- # runner.addToPath('mypath')
- # runner.addToLdLibraryPath('myldlibrarypath')
- # runner.addToPythonPath('mypythonpath')
- # runner.setEnviron('myvarname', 'value')
-
- # Start SALOME, parsing command line arguments
- runner.go(args)
- print 'Thank you for using SALOME!'
-
- except SalomeRunnerException, e:
- import logging
- logging.getLogger("salome").error(e)
- sys.exit(1)
-#
+ ''' Load modules then launch salome
+ '''
+ if MODULES:
+ env_modules = MODULES[:]
+ env_modules_option = "--with-env-modules="
+ env_modules_l = [x for x in args if x.startswith(env_modules_option)]
+ if env_modules_l:
+ env_modules += env_modules_l[-1][len(env_modules_option):].split(',')
+ args = [x for x in args if not x.startswith(env_modules_option)]
+ env_modules_option += "%s" % ','.join(env_modules)
+ args.append(env_modules_option)
+
+ appliPath = os.path.dirname(os.path.realpath(__file__))
+ proc = subprocess.Popen([os.path.join(appliPath, '.salome_run')] + args, close_fds=True)
+ out, err = proc.communicate()
+ sys.exit(proc.returncode)