def getXUsers(self): """ Get user login from Xsession """ 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
def setupOpenGL(self): """Setup opengl for current video driver""" defaultGL = "xorg-x11" pathGlModules = path.join(self.clVars.Get('cl_chroot_path'), 'usr/lib/opengl') openGLenv = path.join(self.clVars.Get('cl_chroot_path'), 'etc/env.d/03opengl') openGlMods = filter(lambda x:x != "global", listDirectory(pathGlModules)) mapGL_drivers = {'fglrx':"ati" if "ati" in openGlMods else defaultGL, 'nvidia':"nvidia" if "nvidia" in openGlMods else defaultGL} x11_driver = self.clVars.Get('os_install_x11_video_drv') if x11_driver in mapGL_drivers: newModuleName = mapGL_drivers[x11_driver] else: newModuleName = defaultGL curModuleName = map(lambda x:x.strip().rpartition('=')[-1].strip('"\''), filter(lambda x: x.startswith("OPENGL_PROFILE="), open(openGLenv,'r'))) curModuleName = curModuleName[-1] if curModuleName else "" if curModuleName == newModuleName: return True res,errmes = runOsCommand('eselect opengl set %s'%newModuleName) if res == 0: return True else: return False
def execProg(self, cmdStrProg, inStr=False, envProg={}): """ Exec external program """ 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 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