diff options
author | Duda Dornelles <ddornell@thoughtworks.com> | 2015-02-04 05:22:13 -0200 |
---|---|---|
committer | Duda Dornelles <ddornell@thoughtworks.com> | 2015-02-04 05:22:13 -0200 |
commit | a7beccf1e219c4e946bc8c90335683e2e6b20d01 (patch) | |
tree | 5bb7ccd865858d406fa1d5d905fdd2e9d901d307 /service/pixelated/resources/mail_resource.py | |
parent | 09f1ec352f4eb7ce4a1f97beb80887c22f70ce30 (diff) |
Refactoring more of resource logic into service. No more search engine on mail(s) resource
Diffstat (limited to 'service/pixelated/resources/mail_resource.py')
-rw-r--r-- | service/pixelated/resources/mail_resource.py | 33 |
1 files changed, 9 insertions, 24 deletions
diff --git a/service/pixelated/resources/mail_resource.py b/service/pixelated/resources/mail_resource.py index fd1d255f..dff594b0 100644 --- a/service/pixelated/resources/mail_resource.py +++ b/service/pixelated/resources/mail_resource.py @@ -7,19 +7,16 @@ class MailTags(Resource): isLeaf = True - def __init__(self, mail_id, mail_service, search_engine): + def __init__(self, mail_id, mail_service): Resource.__init__(self) - self._search_engine = search_engine self._mail_service = mail_service self._mail_id = mail_id def render_POST(self, request): - content_dict = json.loads(request.content.read()) - new_tags = [x.lower() for x in map(lambda e: e.strip(), content_dict['newtags']) if x != ''] + new_tags = json.loads(request.content.read()).get('newtags') + try: - self._mail_service.update_tags(self._mail_id, new_tags) - mail = self._mail_service.mail(self._mail_id) - self._search_engine.index_mail(mail) + mail = self._mail_service.update_tags(self._mail_id, new_tags) except ValueError as ve: return respond_json(ve.message, request, 403) return respond_json(mail.as_dict(), request) @@ -27,11 +24,9 @@ class MailTags(Resource): class Mail(Resource): - def __init__(self, mail_id, mail_service, search_engine): + def __init__(self, mail_id, mail_service): Resource.__init__(self) - self.putChild('tags', MailTags(mail_id, mail_service, search_engine)) - - self._search_engine = search_engine + self.putChild('tags', MailTags(mail_id, mail_service)) self._mail_id = mail_id self._mail_service = mail_service @@ -40,25 +35,15 @@ class Mail(Resource): return respond_json(mail.as_dict(), request) def render_DELETE(self, request): - self._delete_mail(self._mail_id) + self._mail_service.delete_mail(self._mail_id) return respond_json(None, request) - def _delete_mail(self, mail_id): - mail = self._mail_service.mail(mail_id) - if mail.mailbox_name == 'TRASH': - self._mail_service.delete_permanent(mail_id) - self._search_engine.remove_from_index(mail_id) - else: - trashed_mail = self._mail_service.delete_mail(mail_id) - self._search_engine.index_mail(trashed_mail) - class MailResource(Resource): - def __init__(self, mail_service, search_engine): + def __init__(self, mail_service): Resource.__init__(self) self._mail_service = mail_service - self._search_engine = search_engine def getChild(self, mail_id, request): - return Mail(mail_id, self._mail_service, self._search_engine) + return Mail(mail_id, self._mail_service) |