summaryrefslogtreecommitdiff
path: root/service/pixelated/adapter/pixelated_mailboxes.py
diff options
context:
space:
mode:
Diffstat (limited to 'service/pixelated/adapter/pixelated_mailboxes.py')
-rw-r--r--service/pixelated/adapter/pixelated_mailboxes.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/service/pixelated/adapter/pixelated_mailboxes.py b/service/pixelated/adapter/pixelated_mailboxes.py
new file mode 100644
index 00000000..1125c137
--- /dev/null
+++ b/service/pixelated/adapter/pixelated_mailboxes.py
@@ -0,0 +1,28 @@
+from pixelated.adapter.tag import Tag
+from pixelated.adapter.pixelated_mailbox import PixelatedMailbox
+
+
+class PixelatedMailBoxes():
+ def __init__(self, account):
+ self.account = account
+ self.mailbox_name = 'INBOX'
+
+ def inbox(self):
+ return PixelatedMailbox.create(self.account)
+
+ @property
+ def mailboxes(self):
+ return [PixelatedMailbox.create(self.account, leap_mailbox_name) for leap_mailbox_name in
+ self.account.mailboxes]
+
+ def mails_by_tag(self, query_tags):
+ tags = map(Tag, query_tags)
+
+ mails = []
+ for mailbox in self.mailboxes:
+ mails.extend(mailbox.mails_by_tags(tags))
+
+ return mails
+
+ def leap_inbox_mailbox(self):
+ return self.account.getMailbox(self.mailbox_name)