diff --git a/pym/cl_datavars.py b/pym/cl_datavars.py index 51bdbcf..12169f3 100644 --- a/pym/cl_datavars.py +++ b/pym/cl_datavars.py @@ -635,13 +635,14 @@ storage of variables templates")%location) class glob_attr: """Глобальные аттрибуты для методов заполнения переменных""" - def _runos(self,cmd, ret_first=None, env={}): + def _runos(self,cmd, ret_first=None, env={},ret_list=False): """Вернуть результат выполнения команды ОС""" if not env: envDict = {} env.update(os.environ.items() + [("PATH",cl_utils.getpathenv())] +\ env.items()) - retCode, programOut = cl_utils.runOsCommand(cmd, None, ret_first, env) + retCode, programOut = cl_utils.runOsCommand(cmd, None, ret_first, env, + ret_list) if not retCode: return programOut return False diff --git a/pym/cl_utils.py b/pym/cl_utils.py index ef7ebac..770d353 100644 --- a/pym/cl_utils.py +++ b/pym/cl_utils.py @@ -136,7 +136,7 @@ class scanDirectory: break return ret -def runOsCommand(cmd, inStr=None, ret_first=None, env_dict=None): +def runOsCommand(cmd,inStr=None,ret_first=None,env_dict=None,ret_list=False): """Выполняет внешнюю программу Параметры: @@ -166,7 +166,11 @@ def runOsCommand(cmd, inStr=None, ret_first=None, env_dict=None): res += ferr.readlines() ferr.close() if res: - if len(res) == 1 or ret_first: + if ret_list: + if ret_first: + return retcode, res[:1] + return retcode, res + elif len(res) == 1 or ret_first: return retcode, res[0].strip() else: return retcode, res