From 5421b5aab20daa59bc378191522db009a557aa68 Mon Sep 17 00:00:00 2001 From: kaeff Date: Fri, 4 Sep 2015 18:24:38 +0200 Subject: Prepare removing SoledadQuerier from Mail Discovered that Mail#save was still using SoledadQuerier. There were 3 methods using it: - update_tags: Covered by MailService -> moved test & fixed impl - mark_as_read: Already implemented on MailService -> removed - mark_as_unread: Still needs to be moved - remove_all_tags: Unused -> deleted - mark_as_not_recent: Unused -> deleted Issue: #432 --- service/pixelated/adapter/model/mail.py | 37 ---------------------- service/pixelated/adapter/services/mail_service.py | 2 +- 2 files changed, 1 insertion(+), 38 deletions(-) (limited to 'service/pixelated/adapter') diff --git a/service/pixelated/adapter/model/mail.py b/service/pixelated/adapter/model/mail.py index 733678db..53b86aaf 100644 --- a/service/pixelated/adapter/model/mail.py +++ b/service/pixelated/adapter/model/mail.py @@ -436,46 +436,9 @@ class PixelatedMail(Mail): def flags(self): return self.fdoc.content['flags'] - def save(self): - return self.querier.save_mail(self) - def set_mailbox(self, mailbox_name): self.fdoc.content['mbox'] = mailbox_name - def remove_all_tags(self): - return self.update_tags(set([])) - - @defer.inlineCallbacks - def update_tags(self, tags): - yield self._persist_mail_tags(tags) - defer.returnValue(self.tags) - - @defer.inlineCallbacks - def mark_as_read(self): - if Status.SEEN in self.flags: - defer.returnValue(self) - else: - self.flags.append(Status.SEEN) - yield self.save() - defer.returnValue(self) - - @defer.inlineCallbacks - def mark_as_unread(self): - if Status.SEEN in self.flags: - self.flags.remove(Status.SEEN) - yield self.save() - defer.returnValue(self) - - def mark_as_not_recent(self): - if Status.RECENT in self.flags: - self.flags.remove(Status.RECENT) - self.save() - return self - - def _persist_mail_tags(self, current_tags): - self.fdoc.content['tags'] = json.dumps(list(current_tags)) - return self.save() - def has_tag(self, tag): return tag in self.tags diff --git a/service/pixelated/adapter/services/mail_service.py b/service/pixelated/adapter/services/mail_service.py index 789d159e..d9cb6517 100644 --- a/service/pixelated/adapter/services/mail_service.py +++ b/service/pixelated/adapter/services/mail_service.py @@ -51,7 +51,7 @@ class MailService(object): raise ValueError('None of the following words can be used as tags: ' + ' '.join(reserved_words)) new_tags = self._favor_existing_tags_casing(new_tags) mail = yield self.mail(mail_id) - mail.tags |= set(new_tags) + mail.tags = set(new_tags) yield self.mail_store.update_mail(mail) defer.returnValue(mail) -- cgit v1.2.3