diff options
Diffstat (limited to 'service/pixelated/adapter/pixelated_mailboxes.py')
-rw-r--r-- | service/pixelated/adapter/pixelated_mailboxes.py | 28 |
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) |