diff options
author | Duda Dornelles <ddornell@thoughtworks.com> | 2014-08-29 16:29:22 -0300 |
---|---|---|
committer | Duda Dornelles <ddornell@thoughtworks.com> | 2014-08-29 18:10:48 -0300 |
commit | b727ab8090790db2854dac191faee702f085ac20 (patch) | |
tree | 6fc0fc8be8410def37d1931ea17a490f5bca96f1 /service/pixelated/adapter/pixelated_mailboxes.py | |
parent | c11bef55ee74edddaa054456338ebd3bbf72ee2f (diff) |
Refactoring into mailboxes and mailsender - less colaborators for mail service
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) |