Results per page now configurable

This commit is contained in:
Simon 2018-06-07 13:49:08 -04:00
parent 306b0ed0fe
commit b79b0ca58c
3 changed files with 8 additions and 9 deletions

View File

@ -15,6 +15,7 @@ CAPTCHA_SITE_KEY = ""
CAPTCHA_SECRET_KEY = ""
FLASK_SECRET = ""
USE_SSL = True
RESULTS_PER_PAGE = (25, 50, 100, 250, 500, 1000)
```
## Running

8
app.py
View File

@ -95,8 +95,6 @@ def websites():
@app.route("/search")
def search():
RESULTS_PER_PAGE = (25, 50, 100, 250, 1000)
q = request.args.get("q") if "q" in request.args else ""
sort_order = request.args.get("sort_order") if "sort_order" in request.args else "score"
@ -105,7 +103,7 @@ def search():
per_page = request.args.get("per_page") if "per_page" in request.args else "50"
per_page = int(per_page) if per_page.isdigit() else "50"
per_page = per_page if per_page in RESULTS_PER_PAGE else 50
per_page = per_page if per_page in config.RESULTS_PER_PAGE else 50
if q:
try:
@ -116,7 +114,9 @@ def search():
else:
hits = None
return render_template("search.html", results=hits, q=q, p=page, sort_order=sort_order, per_page=per_page)
return render_template("search.html",
results=hits, q=q, p=page, sort_order=sort_order,
per_page=per_page, results_set=config.RESULTS_PER_PAGE)
@app.route("/contribute")

View File

@ -27,11 +27,9 @@
<div class="form-group col-md-2">
<select class="form-control" name="per_page" title="Results per page">
<option disabled>Results per page</option>
<option{{ " selected" if per_page == 25 }}>25</option>
<option{{ " selected" if per_page == 50 }}>50</option>
<option{{ " selected" if per_page == 100 }}>100</option>
<option{{ " selected" if per_page == 250 }}>250</option>
<option{{ " selected" if per_page == 1000 }}>1000</option>
{% for results in results_set %}
<option{{ " selected" if per_page == results }}>{{ results }}</option>
{% endfor %}
</select>
</div>
</div>