Fix crash on packages page
This commit is contained in:
parent
cfa7654efc
commit
8c6d352d07
|
@ -24,7 +24,7 @@ from .packages import build_packages_query
|
||||||
|
|
||||||
@app.route("/api/packages/")
|
@app.route("/api/packages/")
|
||||||
def api_packages_page():
|
def api_packages_page():
|
||||||
query = build_packages_query()
|
query, _ = build_packages_query()
|
||||||
pkgs = [package.getAsDictionaryShort(app.config["BASE_URL"]) \
|
pkgs = [package.getAsDictionaryShort(app.config["BASE_URL"]) \
|
||||||
for package in query.all() if package.getDownloadRelease() is not None]
|
for package in query.all() if package.getDownloadRelease() is not None]
|
||||||
return jsonify(pkgs)
|
return jsonify(pkgs)
|
||||||
|
|
|
@ -47,7 +47,7 @@ def build_packages_query():
|
||||||
if search is not None and search.strip() != "":
|
if search is not None and search.strip() != "":
|
||||||
query = query.filter(Package.title.ilike('%' + search + '%'))
|
query = query.filter(Package.title.ilike('%' + search + '%'))
|
||||||
|
|
||||||
return query
|
return query, title
|
||||||
|
|
||||||
@menu.register_menu(app, ".mods", "Mods", order=11, endpoint_arguments_constructor=lambda: { 'type': 'mod' })
|
@menu.register_menu(app, ".mods", "Mods", order=11, endpoint_arguments_constructor=lambda: { 'type': 'mod' })
|
||||||
@menu.register_menu(app, ".games", "Games", order=12, endpoint_arguments_constructor=lambda: { 'type': 'game' })
|
@menu.register_menu(app, ".games", "Games", order=12, endpoint_arguments_constructor=lambda: { 'type': 'game' })
|
||||||
|
@ -57,11 +57,14 @@ def packages_page():
|
||||||
if shouldReturnJson():
|
if shouldReturnJson():
|
||||||
return redirect(url_for("api_packages_page"))
|
return redirect(url_for("api_packages_page"))
|
||||||
|
|
||||||
query = build_packages_query()
|
query, title = build_packages_query()
|
||||||
page = int(request.args.get("page") or 1)
|
page = int(request.args.get("page") or 1)
|
||||||
num = min(42, int(request.args.get("n") or 100))
|
num = min(42, int(request.args.get("n") or 100))
|
||||||
query = query.paginate(page, num, True)
|
query = query.paginate(page, num, True)
|
||||||
|
|
||||||
|
search = request.args.get("q")
|
||||||
|
type_name = request.args.get("type")
|
||||||
|
|
||||||
next_url = url_for("packages_page", type=type_name, q=search, page=query.next_num) \
|
next_url = url_for("packages_page", type=type_name, q=search, page=query.next_num) \
|
||||||
if query.has_next else None
|
if query.has_next else None
|
||||||
prev_url = url_for("packages_page", type=type_name, q=search, page=query.prev_num) \
|
prev_url = url_for("packages_page", type=type_name, q=search, page=query.prev_num) \
|
||||||
|
|
Loading…
Reference in New Issue