X-Git-Url: http://git.ithinksw.org/philo.git/blobdiff_plain/d1fa7611b6254a03dc07979b28f66aa3439efffb..f91bfa1ef832989770b0c0287d9c5d20cdee9b4a:/contrib/penfield/utils.py?ds=sidebyside diff --git a/contrib/penfield/utils.py b/contrib/penfield/utils.py index 7b5e946..1a53cfe 100644 --- a/contrib/penfield/utils.py +++ b/contrib/penfield/utils.py @@ -2,6 +2,7 @@ from django.utils.feedgenerator import Atom1Feed, Rss201rev2Feed from django.conf.urls.defaults import url, patterns from django.core.urlresolvers import reverse from django.http import HttpResponse +from philo.utils import paginate class FeedMultiViewMixin(object): @@ -15,8 +16,9 @@ class FeedMultiViewMixin(object): atom_feed = Atom1Feed rss_feed = Rss201rev2Feed feed_description = '' + list_var = 'objects' - def page_view(self, func, page, list_var='entries'): + def page_view(self, func, page): """ Wraps an object-fetching function and renders the results as a page. """ @@ -26,12 +28,12 @@ class FeedMultiViewMixin(object): context = self.get_context() context.update(extra_context or {}) - if 'page' in kwargs or 'page' in request.GET: + if 'page' in kwargs or 'page' in request.GET or (hasattr(self, 'per_page') and self.per_page): page_num = kwargs.get('page', request.GET.get('page', 1)) paginator, paginated_page, objects = paginate(objects, self.per_page, page_num) - context.update({'paginator': paginator, 'paginated_page': paginated_page, list_var: objects}) + context.update({'paginator': paginator, 'paginated_page': paginated_page, self.list_var: objects}) else: - context.update({list_var: objects}) + context.update({self.list_var: objects}) return page.render_to_response(node, request, extra_context=context)