From e7db94a986f411e1a86b9a6cc2af21a7e74e1fcf Mon Sep 17 00:00:00 2001 From: Duda Dornelles Date: Tue, 12 Aug 2014 13:30:24 -0300 Subject: adding mails query, tags and contacts to py-fake-service --- py-fake-service/app/adapter/mail_service.py | 33 +++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 7 deletions(-) (limited to 'py-fake-service/app/adapter/mail_service.py') diff --git a/py-fake-service/app/adapter/mail_service.py b/py-fake-service/app/adapter/mail_service.py index b657e59a..649ea96e 100644 --- a/py-fake-service/app/adapter/mail_service.py +++ b/py-fake-service/app/adapter/mail_service.py @@ -1,19 +1,38 @@ import os import mailbox +from tagsset import TagsSet +from mailset import MailSet +from contacts import Contacts class MailService: - MAILSET_PATH = os.join(os.environ('HOME'), 'mailset', 'mediumtagged')) + MAILSET_PATH = os.path.join(os.environ['HOME'], 'mailsets', 'mediumtagged') def __init__(self): - self.mails = MailSet() + self.mailset = MailSet() + self.tagsset = TagsSet() + self.contacts = Contacts() def load_mailset(self): - mbox_filenames = [filename for filename in os.listdir(MAILSET_PATH) if mbox.startswith('mbox')] - boxes = (mailbox.mbox(os.path.join(MAILSET_PATH, mbox)) for mbox in mbox_filenames) + mbox_filenames = [filename for filename in os.listdir(self.MAILSET_PATH) if filename.startswith('mbox')] + boxes = (mailbox.mbox(os.path.join(self.MAILSET_PATH, mbox)) for mbox in mbox_filenames) for box in boxes: - message = box.popitem() - self.mails.add(message[1]) + message = box.popitem()[1] + if message.is_multipart(): + continue + self.mailset.add(message) + self.tagsset.add(message) + self.contacts.add(message) + + def mails(self, query, page, window_size): + mails = self.mailset.values() + mails = [mail for mail in mails if query.test(mail)] + return mails + + def mail(self, mail_id): + return self.mailset.get(mail_id) + + def search_contacts(self, query): + return self.contacts.search(query) - -- cgit v1.2.3