From a7beccf1e219c4e946bc8c90335683e2e6b20d01 Mon Sep 17 00:00:00 2001 From: Duda Dornelles Date: Wed, 4 Feb 2015 05:22:13 -0200 Subject: Refactoring more of resource logic into service. No more search engine on mail(s) resource --- service/pixelated/resources/mail_resource.py | 33 ++++++++-------------------- 1 file changed, 9 insertions(+), 24 deletions(-) (limited to 'service/pixelated/resources/mail_resource.py') 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) -- cgit v1.2.3