def run(self): for acc in self._accounts: if acc.imap and acc.idle: try: idler = Idler(acc, self._sync_callback) idler.run() self._idlerlist.append(idler) except Exception as ex: print "Error: Failed to create an idler thread for account '%s'" % acc.name
def _new_idler(self, account): server = account.get_connection() if server == None: return # Need to get out of AUTH mode. if len(account.folder) > 0: server.select(account.folder) else: server.select("INBOX") try: tmp = server.search(None, 'UNSEEN') # ALL or UNSEEN except: server.select('INBOX', readonly=True) # If search fails select INBOX and try again tmp = server.search(None, 'UNSEEN') # ALL or UNSEEN idler = Idler(server, self._sync_callback) idler.run() self._idlerlist.append(idler)