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 = "" CAPTCHA_SECRET_KEY = ""
FLASK_SECRET = "" FLASK_SECRET = ""
USE_SSL = True USE_SSL = True
RESULTS_PER_PAGE = (25, 50, 100, 250, 500, 1000)
``` ```
## Running ## Running

8
app.py
View File

@ -95,8 +95,6 @@ def websites():
@app.route("/search") @app.route("/search")
def search(): def search():
RESULTS_PER_PAGE = (25, 50, 100, 250, 1000)
q = request.args.get("q") if "q" in request.args else "" 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" 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 = 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 = 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: if q:
try: try:
@ -116,7 +114,9 @@ def search():
else: else:
hits = None 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") @app.route("/contribute")

View File

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