X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=bin%2FsalomeContextUtils.py.in;h=fee74ff042e5eb5999d50c619463afb27154e2e7;hb=20c132438f5b8f7337bf35272989b10eb003d71c;hp=c45076dd5352ed195ab247544cb5ed4f39f18ff9;hpb=e83c49c22e04a5719890de53f54160295864f900;p=modules%2Fkernel.git diff --git a/bin/salomeContextUtils.py.in b/bin/salomeContextUtils.py.in index c45076dd5..fee74ff04 100644 --- a/bin/salomeContextUtils.py.in +++ b/bin/salomeContextUtils.py.in @@ -1,4 +1,4 @@ -# Copyright (C) 2013-2020 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2013-2023 CEA, EDF, OPEN CASCADE # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -261,9 +261,10 @@ def getScriptsAndArgs(args=None, searchPathList=None): ispython = True break pass - fn.close() - except: + except Exception: pass + finally: + fn.close() if not ispython and script_extension == ".py": currentKey = "@PYTHONBIN@ "+currentScript else: @@ -286,12 +287,18 @@ def getScriptsAndArgs(args=None, searchPathList=None): # Formatting scripts and args as a Bash-like command-line: # script1.py [args] ; script2.py [args] ; ... # scriptArgs is a list of ScriptAndArgs objects; their output parameters are omitted -def formatScriptsAndArgs(scriptArgs=None): +def formatScriptsAndArgs(scriptArgs=None, escapeSpaces=False): if scriptArgs is None: return "" commands = [] for sa_obj in scriptArgs: cmd = sa_obj.script + if escapeSpaces and cmd: + if sys.platform == "win32": + cmd = cmd.replace(' ', ' "', 1) + cmd = cmd + '"' + else: + cmd = cmd.replace(' ', '\ ').replace('\ ', ' ', 1) if sa_obj.args: cmd = " ".join([cmd]+sa_obj.args) commands.append(cmd) @@ -329,7 +336,7 @@ def setOmniOrbUserPath(): if not os.access(temp_dir, os.W_OK): raise Exception("Unable to get write access to directory: %s"%temp_dir) os.environ["OMNIORB_USER_PATH"] = temp_dir - except: + except Exception: homePath = os.path.realpath(os.path.expanduser('~')) #defaultOmniorbUserPath = os.path.join(homePath, ".salomeConfig/USERS") defaultOmniorbUserPath = homePath