aboutsummaryrefslogtreecommitdiff
path: root/app/views
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2018-05-29 16:52:53 +0100
committerrubenwardy <rw@rubenwardy.com>2018-05-29 16:52:53 +0100
commit89f95a22dc3f060470021f2fc3c13e4914f0871f (patch)
tree8b4352eeb7ddc3412e7b392bb00324de3bd60aa7 /app/views
parentf1b21b73b2dda494efacc023856f5fb67f09ced7 (diff)
downloadcheatdb-89f95a22dc3f060470021f2fc3c13e4914f0871f.tar.xz
Add pagination
Diffstat (limited to 'app/views')
-rw-r--r--app/views/packages/__init__.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/app/views/packages/__init__.py b/app/views/packages/__init__.py
index 30b1f90..8d201ce 100644
--- a/app/views/packages/__init__.py
+++ b/app/views/packages/__init__.py
@@ -58,9 +58,19 @@ def packages_page():
for package in query.all() if package.getDownloadRelease() is not None]
return jsonify(pkgs)
else:
+ page = int(request.args.get("page") or 1)
+ num = min(42, int(request.args.get("n") or 100))
+ query = query.paginate(page, num, True)
+
+ next_url = url_for("packages_page", type=type.toName(), q=search, page=query.next_num) \
+ if query.has_next else None
+ prev_url = url_for("packages_page", type=type.toName(), q=search, page=query.prev_num) \
+ if query.has_prev else None
+
tags = Tag.query.all()
- return render_template("packages/list.html", title=title, packages=query.all(), \
- query=search, tags=tags, type=None if type is None else type.toName())
+ return render_template("packages/list.html", title=title, packages=query.items, \
+ query=search, tags=tags, type=None if type is None else type.toName(), \
+ next_url=next_url, prev_url=prev_url, page=page, page_max=query.pages, packages_count=query.total)
def getReleases(package):