summaryrefslogtreecommitdiff
path: root/py-fake-service/app/adapter/mail_service.py
diff options
context:
space:
mode:
authorDuda Dornelles <ddornell@thoughtworks.com>2014-08-12 14:34:27 -0300
committerDuda Dornelles <ddornell@thoughtworks.com>2014-08-12 14:54:29 -0300
commitcce7b837e4180167d426224ef625e12a8abc4994 (patch)
tree33716957d809f3345317ee91c9fb067c996eb761 /py-fake-service/app/adapter/mail_service.py
parent103180329b3aad65fa816056c2ca2e9f51424507 (diff)
updating tags on py-fake-service
Diffstat (limited to 'py-fake-service/app/adapter/mail_service.py')
-rw-r--r--py-fake-service/app/adapter/mail_service.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/py-fake-service/app/adapter/mail_service.py b/py-fake-service/app/adapter/mail_service.py
index 7073e549..c6bd3ab4 100644
--- a/py-fake-service/app/adapter/mail_service.py
+++ b/py-fake-service/app/adapter/mail_service.py
@@ -40,5 +40,27 @@ class MailService:
self.mailset.mark_as_read(mail_id)
self.tagsset.mark_as_read(self.mail(mail_id).tags)
+ def delete_mail(self, mail_id):
+ purged = self.mailset.delete(mail_id)
+ if not purged:
+ self.tagsset.increment_tag_total_count('trash')
+
+
+ def update_tags_for(self, mail_id, new_tags):
+ mail = self.mail(mail_id)
+
+ new_tags_set = set(new_tags)
+ old_tags_set = set(mail.tags)
+
+ increment_set = new_tags_set - old_tags_set
+ decrement_set = old_tags_set - new_tags_set
+
+ map(lambda x : self.tagsset.increment_tag_total_count(x), increment_set)
+ map(lambda x : self.tagsset.decrement_tag_total_count(x), decrement_set)
+
+ mail.tags = new_tags
+
+
+