diff options
author | Folker Bernitt <fbernitt@thoughtworks.com> | 2014-10-08 18:06:28 +0200 |
---|---|---|
committer | Folker Bernitt <fbernitt@thoughtworks.com> | 2014-10-09 18:24:41 +0200 |
commit | 85264c9ab3052dd844016d3ec44cb8af43dd5869 (patch) | |
tree | d6a5cb6511039407fdef40804c5338347b71c551 /service/pixelated/adapter/mail_service.py | |
parent | fb8782d3f66b1068153a9948a01864ee52e39b10 (diff) |
Added whoosh as search engine (issue #94).
Diffstat (limited to 'service/pixelated/adapter/mail_service.py')
-rw-r--r-- | service/pixelated/adapter/mail_service.py | 26 |
1 files changed, 7 insertions, 19 deletions
diff --git a/service/pixelated/adapter/mail_service.py b/service/pixelated/adapter/mail_service.py index 23afb41b..ad494ac8 100644 --- a/service/pixelated/adapter/mail_service.py +++ b/service/pixelated/adapter/mail_service.py @@ -20,18 +20,18 @@ from pixelated.adapter.soledad_querier import SoledadQuerier class MailService: __slots__ = ['leap_session', 'account', 'mailbox_name'] - ALL_MAILS_QUERY = {'tags': ['all']} - def __init__(self, mailboxes, mail_sender, tag_service=TagService.get_instance()): self.tag_service = tag_service self.mailboxes = mailboxes self.querier = SoledadQuerier.get_instance() self.mail_sender = mail_sender - self.tag_service.load_index(self.mails(MailService.ALL_MAILS_QUERY)) + self.tag_service.load_index(self.all_mails()) + + def all_mails(self): + return self.querier.all_mails() - def mails(self, query): - _mails = self.mailboxes.mails_by_tag(query['tags']) if query['tags'] else self.querier.all_mails() - return sorted(_mails or [], key=lambda mail: mail.headers['Date'], reverse=True) + def mails(self, ids): + return self.querier.mails(ids) def update_tags(self, mail_id, new_tags): reserved_words = self.tag_service.extract_reserved(new_tags) @@ -46,19 +46,7 @@ class MailService: def send(self, last_draft_ident, mail): self.mail_sender.sendmail(mail) self.mailboxes.drafts().remove(last_draft_ident) - self.mailboxes.sent().add(mail) - - def create_draft(self, mail): - return self.mailboxes.add_draft(mail) - - def update_draft(self, ident, new_version): - return self.mailboxes.update_draft(ident, new_version) - - def send_draft(self, mail): - pass - - def all_tags(self): - return self.tag_service.all_tags() + return self.mailboxes.sent().add(mail) def thread(self, thread_id): raise NotImplementedError() |