replace webob.Response with werkzeug Response
authorSebastian Spaeth <Sebastian@SSpaeth.de>
Fri, 16 Nov 2012 10:21:15 +0000 (11:21 +0100)
committerSebastian Spaeth <Sebastian@SSpaeth.de>
Fri, 21 Dec 2012 07:12:25 +0000 (08:12 +0100)
Replace webob usage in one more file. Document a TODO that should
be clarified, we should probably be using json_response rather than
Response() here.

Modify the TestMeddleware to not rely on the content_type attribute
being present, while werkzeug.wrappers Response() has it the BaseResponse()
object which is often returned in tests does not have it.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
mediagoblin/plugins/api/views.py
mediagoblin/tests/tools.py

index 39f864c47b233ac79c173eeaec665e1dcfa90fc0..8e02d7bd5b3143ff7ea598581c92843bcaaea305 100644 (file)
@@ -19,10 +19,10 @@ import logging
 import uuid
 
 from os.path import splitext
-from webob import Response
+from werkzeug.datastructures import FileStorage
 from werkzeug.exceptions import BadRequest, Forbidden
 from werkzeug.utils import secure_filename
-from werkzeug.datastructures import FileStorage
+from werkzeug.wrappers import Response
 from celery import registry
 
 from mediagoblin.db.util import ObjectId
@@ -136,6 +136,8 @@ def api_test(request):
             'username': request.user.username,
             'email': request.user.email}
 
+    # TODO: This is the *only* thing using Response() here, should that
+    # not simply use json_response()?
     return Response(json.dumps(user_data))
 
 
index 8c09c7ec9f671e807cedd120764fad639d3024e5..0e923aeeb1cb47be37815cd18921df0bc7a63345 100644 (file)
@@ -78,7 +78,7 @@ class TestingMeddleware(BaseMeddleware):
 
     def process_response(self, request, response):
         # All following tests should be for html only!
-        if response.content_type != "text/html":
+        if getattr(response, 'content_type', None) != "text/html":
             # Get out early
             return