def test_paginate_plain_list(self): self.assertRaises(NotFound, Pagination, range(1, 42), 0, 10) self.assertRaises(NotFound, Pagination, range(1, 42), 6, 10) paginator = Pagination(range(1, 42), 1, 10) self._test_paginator(paginator)
def list_movie_by_genre_get(genre="all", page=1, sort="newest", per_page=32): key = "genre:{genre}:{sort}".format(genre=genre, page=page, sort=sort) rv = redis.hget(key, page) if rv: return rv if page < 1: return abort(404) if sort not in ["newest", "popular", "best"]: return abort(404) cursor = Movie.get_movies_by_genre(genre, sort).only( "_critics_score", "_thumbnail", "_release_date", "_title", "_formatted_title") paginated_movies = Pagination(cursor, page, per_page) movies = [movie for movie in paginated_movies.items] # setting up the request context and passing some information into the template g.has_next = paginated_movies.has_next g.has_prev = paginated_movies.has_prev g.possible_genres = genres g.possible_sorts = sorts g.current_genre = genre g.current_sort = sort g.movies = movies g.page = page g.title = genre rv = render_template("genre.html", g=g) redis.hset(key, page, rv) redis.expire(key, TTL) return rv
def user_items(param, page=1): user = User.objects.get_or_404(user_id=param) items = Pagination(Item.objects(submitter=user), page, 12) return render_template('frontend/user_items.html', items=items, user=user)
def view_followings(username): page = get_page() user = User.objects.get_or_404(username=username) pagination = Pagination(user.followings, page, per_page=20) return render_template('users/followings.html', user=user, pagination=pagination)
def category(param, page=1): categories = Category.objects.all() category = categories.get_or_404(name_en__iexact=param) items = Pagination(Item.objects(category=category), page, 12) return render_template('frontend/category_listing.html', items=items, current_category=category, categories=categories)
def listUnity(tag, user, pageNum): if tag: unitySet = Pagination( Unity.get_set(postType='blog', tags=tag), pageNum, 10) pageTitle = tag if user: user = User.get(email=user) unitySet = Pagination( Unity.get_set(postType='blog', author=user), pageNum, 10) pageTitle = user.email elif not tag and not user: unitySet = Pagination( Unity.get_set(postType='blog'), pageNum, 10) pageTitle = "blog" # "listUnity" return render_template('unity/listUnity.html', pageTitle=pageTitle, unitySet=unitySet, page=pageNum)
def test_queryset_paginator(self): with self.app.test_request_context('/'): db = self.db class Post(db.Document): title = db.StringField(required=True, max_length=200) for i in range(42): Post(title="post: %s" % i).save() self.assertRaises(NotFound, Pagination, Post.objects, 0, 10) self.assertRaises(NotFound, Pagination, Post.objects, 6, 10) paginator = Pagination(Post.objects, 1, 10) self._test_paginator(paginator)
def search(param, page=1): items = Pagination(Item.objects(titles__title__icontains=param), 1, 12) return render_template('frontend/search_result.html', items=items)
def tag(param, page=1): items = Pagination(Item.objects(tags=param), page, 12) if len(items.items) == 0: return abort(404) return render_template('frontend/tag.html', tag=param, items=items)