X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=bin%2Fappliskel%2Fsalome;h=e397ba801abe419de1e4f4f770122855019f4ccb;hb=ab8bd74a4dd55cd7c24c05e634ea9aff25bffb21;hp=1bcae77fa2d19aecd706a525e147ba81925521f1;hpb=96ef48a2a32f8b5c0fd42c81b2da84e1012e59dc;p=modules%2Fkernel.git diff --git a/bin/appliskel/salome b/bin/appliskel/salome index 1bcae77fa..e397ba801 100755 --- a/bin/appliskel/salome +++ b/bin/appliskel/salome @@ -1,72 +1,29 @@ -#! /usr/bin/env python - -# Copyright (C) 2013-2015 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 -# +#! /usr/bin/env python3 import os +import subprocess import sys -def main(args): - # Identify application path then locate configuration files - currentPath = os.path.realpath(os.path.dirname(os.path.abspath(__file__))) - launcherFile = os.path.basename(__file__) - from salome_starter import initialize - initialize(currentPath, launcherFile) - - if len(args) == 1 and args[0] in ['--help', 'help', '-h', '--h']: - from salomeContext import usage - usage() - sys.exit(0) +MODULES = [] - 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 SalomeContext which parses configFileNames to initialize environment - from salomeContextUtils import SalomeContextException - try: - from salomeContext import SalomeContext - context = SalomeContext(configFileNames) - - # Here set specific variables, if needed - # context.addToPath('mypath') - # context.addToLdLibraryPath('myldlibrarypath') - # context.addToPythonPath('mypythonpath') - # context.setVariable('myvarname', 'value') - - # Start SALOME, parsing command line arguments - (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) - sys.exit(1) -# +def main(args): + ''' 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) if __name__ == "__main__": - args = sys.argv[1:] - main(args) -# + main(sys.argv[1:])