aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/user_pages/views.py
diff options
context:
space:
mode:
authorChristopher Allan Webber <cwebber@dustycloud.org>2011-05-19 22:34:57 -0500
committerChristopher Allan Webber <cwebber@dustycloud.org>2011-05-19 22:34:57 -0500
commitaf4d0b5cb0de2cbc9dd78a791fd77dab3dbddaa5 (patch)
tree3d5399b6d7c036c4cd78db6645eb72ed35123b39 /mediagoblin/user_pages/views.py
parenta67fec8177c09c4e74ce7f4301b88f4e7ea6e658 (diff)
parent3eb6fc4f2f2b0a41677ab88bdd941b79e3e87b39 (diff)
downloadmediagoblin-af4d0b5cb0de2cbc9dd78a791fd77dab3dbddaa5.tar.lz
mediagoblin-af4d0b5cb0de2cbc9dd78a791fd77dab3dbddaa5.tar.xz
mediagoblin-af4d0b5cb0de2cbc9dd78a791fd77dab3dbddaa5.zip
Merge remote branch 'remotes/hanaku/pagination'
Conflicts: mediagoblin/user_pages/views.py
Diffstat (limited to 'mediagoblin/user_pages/views.py')
-rw-r--r--mediagoblin/user_pages/views.py23
1 files changed, 18 insertions, 5 deletions
diff --git a/mediagoblin/user_pages/views.py b/mediagoblin/user_pages/views.py
index 9e9e3f51..d8665915 100644
--- a/mediagoblin/user_pages/views.py
+++ b/mediagoblin/user_pages/views.py
@@ -16,8 +16,11 @@
from webob import Response, exc
from mediagoblin.db.util import ObjectId, DESCENDING
+from mediagoblin.util import Pagination
+from mediagoblin.decorators import uses_pagination
+@uses_pagination
def user_home(request):
"""'Homepage' of a User()"""
user = request.db.User.find_one({
@@ -26,18 +29,27 @@ def user_home(request):
if not user:
return exc.HTTPNotFound()
- medias = request.db.MediaEntry.find({
- 'uploader': user,
- 'state': 'processed'}).sort('created', DESCENDING)
+ cursor = request.db.MediaEntry \
+ .find({'uploader': user, 'state': 'processed'}) \
+ .sort('created', DESCENDING)
+
+ pagination = Pagination( int(request.str_GET['page']), cursor)
+ media_entries = pagination()
+
+ #if no data is available, return NotFound
+ if media_entries == None:
+ return exc.HTTPNotFound()
+
template = request.template_env.get_template(
'mediagoblin/user_pages/user.html')
+
return Response(
template.render(
{'request': request,
'user': user,
- 'media_entries': medias}))
-
+ 'media_entries': media_entries,
+ 'pagination': pagination}))
def media_home(request):
"""'Homepage' of a MediaEntry()"""
@@ -56,3 +68,4 @@ def media_home(request):
template.render(
{'request': request,
'media': media}))
+