def showPage(self, pageId=None): if pageId is not None and self != threading.currentThread(): return """ Mostra a página do SisCop se o pageId for diferente do último. """ if pageId is None or pageId != self.lastPageId: if pageId is not None: self.lastPageId = pageId # verifica se a sessão ainda é válida, senão faz login. self.checkLogged(self.openUrlRegPonto()) if not self.logged: self.login() # abre o browser com a página procs = commands.getoutput('/bin/ps xo comm').split('\n') if 'chrome' in procs: if self.logged: # passa os cookies para o browser para evitar a tela de login url = self.urlCadRegPonto + "?" cookies = [] for cookie in self.cookiejar: cookies.append("%s=%s" % (cookie.name, cookie.value)) url = url + urllib.urlencode({'cookie': '; '.join(cookies)}) else: url = self.urlLogin execute(["google-chrome", url]) execute(["wmctrl", "-a", "Chrome"]) else: execute(["firefox", self.urlLogin]) execute(["wmctrl", "-a", "Firefox"]) #verifica se o usuário está na máquina if pageId is not None: bus = dbus.SessionBus() ssaver = bus.get_object('org.gnome.ScreenSaver', '/org/gnome/ScreenSaver') try: # costuma demorar alguns segundos pra retornar ssaver.SimulateUserActivity() # faz aparecer a tela de login caso o screensaver esteja ativado except: pass # costuma lançar um erro DBusException: org.freedesktop.DBus.Error.NoReply
def showMail(self): execute('thunderbird')