From 1301a8ad57672ae48afddf31d4951222ef8b5ff0 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 19 May 2011 22:39:15 -0500 Subject: [PATCH] Reorganizing the uses_pagination decorator a little and having it pass in the page number to the view --- mediagoblin/decorators.py | 6 ++---- mediagoblin/user_pages/views.py | 6 +++--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/mediagoblin/decorators.py b/mediagoblin/decorators.py index 161d99ff..8f107b6f 100644 --- a/mediagoblin/decorators.py +++ b/mediagoblin/decorators.py @@ -52,14 +52,12 @@ def uses_pagination(controller): """ def wrapper(request, *args, **kwargs): try: - page = int(request.str_GET['page']) + page = int(request.GET.get('page', 1)) if page < 0: return exc.HTTPNotFound() except ValueError: return exc.HTTPNotFound() - except KeyError: - request.str_GET['page'] = 1 - return controller(request, *args, **kwargs) + return controller(request, page, *args, **kwargs) return _make_safe(wrapper,controller) diff --git a/mediagoblin/user_pages/views.py b/mediagoblin/user_pages/views.py index d8665915..f50f11af 100644 --- a/mediagoblin/user_pages/views.py +++ b/mediagoblin/user_pages/views.py @@ -20,8 +20,9 @@ from mediagoblin.util import Pagination from mediagoblin.decorators import uses_pagination + @uses_pagination -def user_home(request): +def user_home(request, page): """'Homepage' of a User()""" user = request.db.User.find_one({ 'username': request.matchdict['user'], @@ -32,9 +33,8 @@ def user_home(request): cursor = request.db.MediaEntry \ .find({'uploader': user, 'state': 'processed'}) \ .sort('created', DESCENDING) - - pagination = Pagination( int(request.str_GET['page']), cursor) + pagination = Pagination(page, cursor) media_entries = pagination() #if no data is available, return NotFound