diff options
author | kaeff <hi@kaeff.net> | 2015-09-04 18:24:38 +0200 |
---|---|---|
committer | kaeff <hi@kaeff.net> | 2015-09-04 18:34:27 +0200 |
commit | 5421b5aab20daa59bc378191522db009a557aa68 (patch) | |
tree | 7ea0e9e3de4fe1f2a82f06ae4085dfebd7eade76 /service/pixelated | |
parent | d044a34e9b5a0c341581daae03ba40fc72005170 (diff) |
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
Diffstat (limited to 'service/pixelated')
-rw-r--r-- | service/pixelated/adapter/model/mail.py | 37 | ||||
-rw-r--r-- | service/pixelated/adapter/services/mail_service.py | 2 |
2 files changed, 1 insertions, 38 deletions
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) |