X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=bin%2FsalomeContext.py;h=b67209092e82ac095f26d1542f5f7af2d06a5fed;hb=82668fe5e4d077072402d253497f96d4c53391f9;hp=f6c367e6a721b387e40a1dd6133845636407e7c9;hpb=2ed1dfe2767fd2d19353dad6f611122c67f09f09;p=modules%2Fkernel.git diff --git a/bin/salomeContext.py b/bin/salomeContext.py index f6c367e6a..b67209092 100644 --- a/bin/salomeContext.py +++ b/bin/salomeContext.py @@ -84,7 +84,7 @@ class SalomeContext: """ def __init__(self, configFileNames=0): self.getLogger().setLevel(logging.INFO) - #it could be None explicitely (if user use multiples setVariable...for standalone) + #it could be None explicitly (if user use multiples setVariable...for standalone) if configFileNames is None: return configFileNames = configFileNames or [] @@ -100,14 +100,14 @@ class SalomeContext: self.getLogger().error("Unrecognized extension for configuration file: %s", filename) # - def __loadMPI(self, module_name): - print "Trying to load MPI module: %s..."%module_name, + def __loadEnvModules(self, env_modules): + print("Trying to load env modules: %s..." % ' '.join(env_modules)) try: - out, err = subprocess.Popen(["modulecmd", "python", "load", module_name], stdout=subprocess.PIPE).communicate() - exec out # define specific environment variables - print " OK" + out, err = subprocess.Popen(["modulecmd", "python", "load"] + env_modules, stdout=subprocess.PIPE).communicate() + exec(out) # define specific environment variables + print("OK") except: - print " ** Failed **" + print("** Failed **") pass # @@ -115,16 +115,16 @@ class SalomeContext: import os # Run this module as a script, in order to use appropriate Python interpreter # according to current path (initialized from context files). - 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):] - self.__loadMPI(mpi_module) - args = [x for x in args if not x.startswith(mpi_module_option)] + 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(',') + self.__loadEnvModules(env_modules) + args = [x for x in args if not x.startswith(env_modules_option)] else: - mpi_module = os.getenv("SALOME_MPI_MODULE_NAME", None) - if mpi_module: - self.__loadMPI(mpi_module) + env_modules = os.getenv("SALOME_ENV_MODULES", None) + if env_modules: + self.__loadEnvModules(env_modules.split(',')) absoluteAppliPath = os.getenv('ABSOLUTE_APPLI_PATH','') env_copy = os.environ.copy() @@ -231,7 +231,7 @@ class SalomeContext: """ Run SALOME! - Args consist in a mandatory command followed by optionnal parameters. + Args consist in a mandatory command followed by optional parameters. See usage for details on commands. """ def _startSalome(self, args): @@ -261,10 +261,10 @@ class SalomeContext: try: res = getattr(self, command)(options) # run appropriate method return res or 0 - except SystemExit, returncode: - if returncode != 0: - self.getLogger().error("SystemExit %s in method %s.", returncode, command) - return returncode + except SystemExit as ex: + if ex.code != 0: + self.getLogger().error("SystemExit %s in method %s.", ex.code, command) + return ex.code except StandardError: self.getLogger().error("Unexpected error:") import traceback @@ -340,7 +340,7 @@ class SalomeContext: cmd = ["/bin/bash"] proc = subprocess.Popen(cmd, shell=False, close_fds=True) proc.communicate() - return proc.returncode() + return proc.returncode # def _runSession(self, args=None):