summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--service/pixelated/resources/__init__.py15
-rw-r--r--service/pixelated/resources/login_resource.py4
-rw-r--r--service/pixelated/resources/logout_resource.py4
-rw-r--r--service/pixelated/resources/mail_resource.py6
-rw-r--r--service/pixelated/resources/tags_resource.py4
5 files changed, 15 insertions, 18 deletions
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 <http://www.gnu.org/licenses/>.
-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