Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
 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
Ejemplo n.º 4
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