def _runos(self, cmd, env={}): """Return result of os command perform""" if not env: env.update(os.environ.items() + [("PATH",getpathenv())] +\ env.items()) retCode, programOut = runOsCommand(cmd, None, env_dict=env) if not retCode: return programOut return False
def _runos(self,cmd, ret_first=None, env={}): """Вернуть результат выполнения команды ОС""" 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) if not retCode: return programOut return False
def execProg(cmdStrProg, inStr=False, envProg={}): """Выполняет внешнюю программу Параметры: cmdStrProg внешняя программа inStr данные передаваемые программе на страндартный вход. Возвращаемые параметры: строки которые выведет внешняя программа или False в случае ошибки """ env_path = {"PATH":getpathenv()} env = {} env.update(os.environ.items() + env_path.items() + envProg.items()) retCode,programOut = runOsCommand(cmdStrProg,in_str=inStr,env_dict=env) if not retCode: return programOut return False
def getXUsers(self): """Имена пользователей в X сессии""" xSession = 0 foundTwoSession = False retCode, resWho = runOsCommand("who") xUsers = [] if retCode==0: if resWho: listProcessing = lambda x: (x[0], x[1], x[4])\ if len(x)==5 else [] xUsers = list(set(filter(lambda x: x!="root", map(lambda x: x[0], filter(lambda x: x and\ (x[2].startswith("(:") or \ x[1].startswith(":")), map(lambda x: listProcessing(\ filter(lambda y: y, x.split(" "))), resWho)))))) else: self.printERROR(_("Failed to execute 'who'")) return False return xUsers