def run(self): six = sixaxis.sixaxis(self.xbmc, self.csock, self.isock) self.xbmc.connect() self.reset_timeout() try: while not self.stop(): if self.timed_out(): raise Exception("PS3 Sixaxis powering off, timed out") if self.idle_time() > 50: self.xbmc.connect() try: if six.process_socket(self.isock): self.reset_timeout() except Exception, e: print e break except Exception, e: printerr()