From: Cédric Aguerre Date: Mon, 16 Feb 2015 17:41:48 +0000 (+0100) Subject: fix X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=d09a62aecc2cf13fd69777f675a8898f17b77696;p=modules%2Fyacs.git fix --- diff --git a/bin/salomeContext.py b/bin/salomeContext.py index 3dfaa46d9..7ea73cea3 100644 --- a/bin/salomeContext.py +++ b/bin/salomeContext.py @@ -112,19 +112,26 @@ class SalomeContext: def runSalome(self, args): # Run this module as a script, in order to use appropriate Python interpreter # according to current path (initialized from environment files). -# kill = False -# for e in args: -# if "--shutdown-server" in e: -# kill = True -# args.remove(e) + mpi_module_option = "--with_mpi_module=" + mpi_module = [x for x in args if x.startswith(mpi_module_option)] + if mpi_module: + mpi_module = mpi_module[0][len(mpi_module_option):] + print "Trying to load MPI module: %s..."%mpi_module, + try: + out, err = subprocess.call(["modulecmd", "python", "load", mpi_module]).communicate() + exec out # define specific environment variables + print " OK" + except: + print " ** Failed **" + pass + args = [x for x in args if not x.startswith(mpi_module_option)] + pass import os absoluteAppliPath = os.getenv('ABSOLUTE_APPLI_PATH','') env_copy = os.environ.copy() proc = subprocess.Popen(['python', os.path.join(absoluteAppliPath,"bin","salome","salomeContext.py"), pickle.dumps(self), pickle.dumps(args)], shell=False, close_fds=True, env=env_copy) msg = proc.communicate() - # if kill: - # self._killAll(args) return msg, proc.returncode # @@ -237,21 +244,6 @@ class SalomeContext: # try to default to "start" command command = "_runAppli" - mpi_module_option = "--with_mpi_module=" - mpi_module = [x for x in args if x.startswith(mpi_module_option)] - if mpi_module: - mpi_module = mpi_module[0][len(mpi_module_option):] - print "Trying to load MPI module: %s..."%mpi_module, - import subprocess - try: - subprocess.call(["module", "load", mpi_module]) - print " OK" - except: - print " ** Failed **" - pass - options = [x for x in options if not x.startswith(mpi_module_option)] - pass - try: res = getattr(self, command)(options) # run appropriate method return res or (None, None)