示例#1
0
 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
示例#2
0
 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
示例#3
0
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