def skip_backward(self, key, n): row = self._cache.db.execute( """ SELECT MIN(name), COUNT(*) - 1 FROM ( SELECT name FROM mailboxes WHERE name<=? ORDER BY name DESC LIMIT ? )""", (key[2], n + 1), ).fetchone() return mailbox_sort_key(row[0]), row[1]
def on_update_mailbox(self, name): self.update_record(mailbox_sort_key(name)) self.refresh()
def on_delete_mailbox(self, name): self.delete_record(mailbox_sort_key(name)) self.refresh()
def on_add_mailbox(self, name): self.add_record(mailbox_sort_key(name)) self.refresh()
def next_key(self, key): cur = self._cache.db.execute("SELECT MIN(name) FROM mailboxes WHERE name>?", (key[2],)) return mailbox_sort_key(cur.fetchone()[0])
def max_key(self): cur = self._cache.db.execute("SELECT MAX(name) FROM mailboxes") return mailbox_sort_key(cur.fetchone()[0])
def row_to_key(self, row): return mailbox_sort_key(row["name"])