summaryrefslogtreecommitdiff
path: root/service/pixelated/adapter/pixelated_mailboxes.py
diff options
context:
space:
mode:
authorDuda Dornelles <ddornell@thoughtworks.com>2014-08-29 16:29:22 -0300
committerDuda Dornelles <ddornell@thoughtworks.com>2014-08-29 18:10:48 -0300
commitb727ab8090790db2854dac191faee702f085ac20 (patch)
tree6fc0fc8be8410def37d1931ea17a490f5bca96f1 /service/pixelated/adapter/pixelated_mailboxes.py
parentc11bef55ee74edddaa054456338ebd3bbf72ee2f (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.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)