From a919d12ddb7c688c2e7fb01b8768dab8be9f5c39 Mon Sep 17 00:00:00 2001 From: Felix Hammerl Date: Wed, 13 Apr 2016 16:25:28 +0200 Subject: Issue #431: Review * Remove GenericDeferredErrorHandler class * Convert static method generic_error_handling to function instead --- service/pixelated/resources/__init__.py | 15 ++++++--------- service/pixelated/resources/login_resource.py | 4 ++-- service/pixelated/resources/logout_resource.py | 4 ++-- service/pixelated/resources/mail_resource.py | 6 +++--- service/pixelated/resources/tags_resource.py | 4 ++-- 5 files changed, 15 insertions(+), 18 deletions(-) (limited to 'service/pixelated') diff --git a/service/pixelated/resources/__init__.py b/service/pixelated/resources/__init__.py index 02107364..95ebd115 100644 --- a/service/pixelated/resources/__init__.py +++ b/service/pixelated/resources/__init__.py @@ -49,17 +49,14 @@ def respond_json_deferred(entity, request, status_code=200): request.finish() -class GenericDeferredErrorHandler(object): - - @classmethod - def generic_error_handling(cls, e, request): - log.error(e) - request.setResponseCode(INTERNAL_SERVER_ERROR) - request.write('Something went wrong!') - request.finish() +def handle_error_deferred(e, request): + log.error(e) + request.setResponseCode(INTERNAL_SERVER_ERROR) + request.write('Something went wrong!') + request.finish() -class BaseResource(Resource, GenericDeferredErrorHandler): +class BaseResource(Resource): def __init__(self, services_factory): Resource.__init__(self) diff --git a/service/pixelated/resources/login_resource.py b/service/pixelated/resources/login_resource.py index 13a78fbc..55db6970 100644 --- a/service/pixelated/resources/login_resource.py +++ b/service/pixelated/resources/login_resource.py @@ -27,7 +27,7 @@ from twisted.web.resource import IResource, NoResource from twisted.web.server import NOT_DONE_YET from twisted.web.static import File from twisted.web.template import Element, XMLFile, renderElement, renderer - +from pixelated.resources import handle_error_deferred from pixelated.adapter.welcome_mail import add_welcome_mail from pixelated.resources import BaseResource, UnAuthorizedResource, IPixelatedSession @@ -141,7 +141,7 @@ class LoginResource(BaseResource): d = self._handle_login(request) d.addCallbacks(render_response, render_error) - d.addErrback(self.generic_error_handling, request) + d.addErrback(handle_error_deferred, request) return NOT_DONE_YET diff --git a/service/pixelated/resources/logout_resource.py b/service/pixelated/resources/logout_resource.py index c22815ce..4c700afe 100644 --- a/service/pixelated/resources/logout_resource.py +++ b/service/pixelated/resources/logout_resource.py @@ -18,7 +18,7 @@ from twisted.internet import defer from twisted.web import util from twisted.web.server import NOT_DONE_YET -from pixelated.resources import BaseResource +from pixelated.resources import BaseResource, handle_error_deferred from pixelated.resources.login_resource import LoginResource @@ -40,6 +40,6 @@ class LogoutResource(BaseResource): d = self._execute_logout(request) d.addCallback(_redirect_to_login) - d.addErrback(self.generic_error_handling, request) + d.addErrback(handle_error_deferred, request) return NOT_DONE_YET diff --git a/service/pixelated/resources/mail_resource.py b/service/pixelated/resources/mail_resource.py index 6f9ec828..58bc7756 100644 --- a/service/pixelated/resources/mail_resource.py +++ b/service/pixelated/resources/mail_resource.py @@ -4,7 +4,7 @@ from twisted.python.log import err from twisted.web.resource import Resource from twisted.web.server import NOT_DONE_YET -from pixelated.resources import respond_json_deferred, BaseResource, GenericDeferredErrorHandler +from pixelated.resources import respond_json_deferred, BaseResource, handle_error_deferred from pixelated.support import replier @@ -30,7 +30,7 @@ class MailTags(Resource): return NOT_DONE_YET -class Mail(Resource, GenericDeferredErrorHandler): +class Mail(Resource): def __init__(self, mail_id, mail_service): Resource.__init__(self) @@ -51,7 +51,7 @@ class Mail(Resource, GenericDeferredErrorHandler): d = self._mail_service.mail(self._mail_id) d.addCallback(lambda mail: populate_reply(mail)) d.addCallback(lambda mail_dict: respond_json_deferred(mail_dict, request)) - d.addErrback(self.generic_error_handling, request) + d.addErrback(handle_error_deferred, request) return NOT_DONE_YET diff --git a/service/pixelated/resources/tags_resource.py b/service/pixelated/resources/tags_resource.py index 26da9dae..4cea4ca7 100644 --- a/service/pixelated/resources/tags_resource.py +++ b/service/pixelated/resources/tags_resource.py @@ -14,7 +14,7 @@ # You should have received a copy of the GNU Affero General Public License # along with Pixelated. If not, see . -from pixelated.resources import respond_json_deferred, BaseResource +from pixelated.resources import respond_json_deferred, BaseResource, handle_error_deferred from twisted.internet.threads import deferToThread from twisted.web.server import NOT_DONE_YET @@ -33,6 +33,6 @@ class TagsResource(BaseResource): d = deferToThread(lambda: _search_engine.tags(query=query, skip_default_tags=skip_default_tags)) d.addCallback(lambda tags: respond_json_deferred(tags, request)) - d.addErrback(self.generic_error_handling, request) + d.addErrback(handle_error_deferred, request) return NOT_DONE_YET -- cgit v1.2.3