From fa75c5ddd40d15f1ccbfc593d6f3ab0d50acaf9e Mon Sep 17 00:00:00 2001 From: Duda Dornelles Date: Tue, 12 Aug 2014 13:45:07 -0300 Subject: marking mail as read in fake-service --- py-fake-service/app/adapter/mail.py | 9 ++++++++- py-fake-service/app/adapter/mail_service.py | 6 ++++++ py-fake-service/app/adapter/mailset.py | 4 +++- py-fake-service/app/adapter/tag.py | 3 +++ py-fake-service/app/adapter/tagsset.py | 5 +++++ 5 files changed, 25 insertions(+), 2 deletions(-) (limited to 'py-fake-service/app/adapter') diff --git a/py-fake-service/app/adapter/mail.py b/py-fake-service/app/adapter/mail.py index 859eb50c..380d1e2c 100644 --- a/py-fake-service/app/adapter/mail.py +++ b/py-fake-service/app/adapter/mail.py @@ -9,7 +9,14 @@ class Mail: self.body = mbox_mail.get_payload() self.tags = self._get_tags(mbox_mail) self.security_casing = {} - self.status = [] + self.status = self._get_status() + + def _get_status(self): + status = [] + if 'sent' in self.tags: + status.append('read') + + return status def _get_headers(self, mbox_mail): headers = {} diff --git a/py-fake-service/app/adapter/mail_service.py b/py-fake-service/app/adapter/mail_service.py index 649ea96e..7073e549 100644 --- a/py-fake-service/app/adapter/mail_service.py +++ b/py-fake-service/app/adapter/mail_service.py @@ -36,3 +36,9 @@ class MailService: def search_contacts(self, query): return self.contacts.search(query) + def mark_as_read(self, mail_id): + self.mailset.mark_as_read(mail_id) + self.tagsset.mark_as_read(self.mail(mail_id).tags) + + + diff --git a/py-fake-service/app/adapter/mailset.py b/py-fake-service/app/adapter/mailset.py index 2b1627ae..2568e33b 100644 --- a/py-fake-service/app/adapter/mailset.py +++ b/py-fake-service/app/adapter/mailset.py @@ -17,4 +17,6 @@ class MailSet: def get(self, mail_id): return self.mails.get(int(mail_id)) - + def mark_as_read(self, mail_id): + mail = self.mails.get(int(mail_id)) + mail.status.append('read') diff --git a/py-fake-service/app/adapter/tag.py b/py-fake-service/app/adapter/tag.py index bc98669d..73103490 100644 --- a/py-fake-service/app/adapter/tag.py +++ b/py-fake-service/app/adapter/tag.py @@ -15,3 +15,6 @@ class Tag: def increment_count(self): self.counts['total'] += 1 + + def increment_read(self): + self.counts['read'] += 1 diff --git a/py-fake-service/app/adapter/tagsset.py b/py-fake-service/app/adapter/tagsset.py index 23941735..04c712d4 100644 --- a/py-fake-service/app/adapter/tagsset.py +++ b/py-fake-service/app/adapter/tagsset.py @@ -14,3 +14,8 @@ class TagsSet: def all_tags(self): return self.tags.values() + + def mark_as_read(self, tags): + for tag in tags: + tag = self.tags.get(tag) + tag.increment_read() -- cgit v1.2.3