summaryrefslogtreecommitdiff
path: root/service/pixelated/resources/mail_resource.py
diff options
context:
space:
mode:
authorDuda Dornelles <ddornell@thoughtworks.com>2015-02-04 05:22:13 -0200
committerDuda Dornelles <ddornell@thoughtworks.com>2015-02-04 05:22:13 -0200
commita7beccf1e219c4e946bc8c90335683e2e6b20d01 (patch)
tree5bb7ccd865858d406fa1d5d905fdd2e9d901d307 /service/pixelated/resources/mail_resource.py
parent09f1ec352f4eb7ce4a1f97beb80887c22f70ce30 (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.py33
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)