def __iter__(self): lists = PodcastList.by_rating(endkey=self.min_list_rating) lists = islice(lists, 0, self.num_lists) lists = map(self._prepare_list, lists) categories = Category.top_categories(self.num_categories) categories = map(self._prepare_category, categories) return chain(lists, categories)
def podcast_lists(request, page_size=20): # Make sure page request is an int. If not, deliver first page. try: page = int(request.GET.get("page", "1")) except ValueError: page = 1 lists = PodcastList.by_rating(skip=(page - 1) * page_size, limit=page_size) def _prepare_list(l): user = User.get(l.user) l = proxy_object(l) l.username = user.username return l lists = map(_prepare_list, lists) num_pages = int(ceil(PodcastList.count() / float(page_size))) page_list = utils.get_page_list(1, num_pages, page, 15) return render(request, "podcast_lists.html", {"lists": lists, "page_list": page_list})