From 579dab68cc73cd8e52b8f6feaa02a51b361c59bb Mon Sep 17 00:00:00 2001 From: Folker Bernitt Date: Wed, 5 Aug 2015 09:27:35 +0200 Subject: Implemented get_mailbox_names in MailStore. --- service/pixelated/adapter/mailstore/leap_mailstore.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'service/pixelated/adapter/mailstore/leap_mailstore.py') diff --git a/service/pixelated/adapter/mailstore/leap_mailstore.py b/service/pixelated/adapter/mailstore/leap_mailstore.py index 7bcd8a6a..60068322 100644 --- a/service/pixelated/adapter/mailstore/leap_mailstore.py +++ b/service/pixelated/adapter/mailstore/leap_mailstore.py @@ -92,6 +92,21 @@ class LeapMailStore(MailStore): mailbox = yield self._get_or_create_mailbox(mailbox_name) defer.returnValue(mailbox) + @defer.inlineCallbacks + def get_mailbox_names(self): + mbox_map = set((yield self._mailbox_uuid_to_name()).values()) + + defer.returnValue(mbox_map.union({'INBOX'})) + + @defer.inlineCallbacks + def _mailbox_uuid_to_name(self): + map = {} + mbox_docs = yield self.soledad.get_from_index('by-type', 'mbox') + for doc in mbox_docs: + map[doc.doc_id] = doc.content.get('mbox') + + defer.returnValue(map) + @defer.inlineCallbacks def add_mail(self, mailbox_name, raw_msg): mailbox = yield self._get_or_create_mailbox(mailbox_name) -- cgit v1.2.3