Remove webobisms from decorators.py
authorSebastian Spaeth <Sebastian@SSpaeth.de>
Thu, 15 Nov 2012 15:49:51 +0000 (16:49 +0100)
committerSebastian Spaeth <Sebastian@SSpaeth.de>
Fri, 21 Dec 2012 07:11:40 +0000 (08:11 +0100)
Use our own redirect function rather than webobs HttpFound
Also replace HttpForbidden() with webob's Forbidden()

mediagoblin/decorators.py

index 2955c9276688095208016b3c839b3eaf94e76aad..e45d327266e03cbe740903963e2fd02478e67ce6 100644 (file)
@@ -17,9 +17,8 @@
 from functools import wraps
 
 from urlparse import urljoin
-from urllib import urlencode
-
-from webob import exc
+from werkzeug.exceptions import Forbidden
+from werkzeug.urls import url_quote
 
 from mediagoblin.db.util import ObjectId, InvalidId
 from mediagoblin.db.sql.models import User
@@ -43,11 +42,8 @@ def require_active_login(controller):
                         qualified=True),
                     request.url)
 
-            return exc.HTTPFound(
-                location='?'.join([
-                    request.urlgen('mediagoblin.auth.login'),
-                    urlencode({
-                        'next': next_url})]))
+            return redirect(request, 'mediagoblin.auth.login',
+                            next=url_quote(next_url))
 
         return controller(request, *args, **kwargs)
 
@@ -78,7 +74,7 @@ def user_may_delete_media(controller):
             {'id': ObjectId(request.matchdict['media'])}).uploader
         if not (request.user.is_admin or
                 request.user.id == uploader_id):
-            return exc.HTTPForbidden()
+            return Forbidden()
 
         return controller(request, *args, **kwargs)
 
@@ -95,7 +91,7 @@ def user_may_alter_collection(controller):
             {'username': request.matchdict['user']}).id
         if not (request.user.is_admin or
                 request.user.id == creator_id):
-            return exc.HTTPForbidden()
+            return Forbidden()
 
         return controller(request, *args, **kwargs)