diff options
Diffstat (limited to 'searx/webapp.py')
| -rw-r--r-- | searx/webapp.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/searx/webapp.py b/searx/webapp.py index de1b8d56f..6f9d1745e 100644 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -129,7 +129,7 @@ def parse_query(query): @app.route('/', methods=['GET', 'POST']) def index(): - global categories + paging = False if request.method == 'POST': request_data = request.form @@ -138,6 +138,12 @@ def index(): if not request_data.get('q'): return render('index.html') + pageno_param = request_data.get('pageno', '1') + if not pageno_param.isdigit() or int(pageno_param) < 1: + return render('index.html') + + pageno = int(pageno_param) + selected_categories = [] query, selected_engines = parse_query(request_data['q'].encode('utf-8')) @@ -166,10 +172,12 @@ def index(): 'name': x.name} for x in categories[categ]) - results, suggestions = search(query, request, selected_engines) + results, suggestions = search(query, request, selected_engines, pageno) featured_results = [] for result in results: + if not paging and engines[result['engine']].paging: + paging = True if request_data.get('format', 'html') == 'html': if 'content' in result: result['content'] = highlight_content(result['content'], query) @@ -219,7 +227,8 @@ def index(): results=results, q=request_data['q'], selected_categories=selected_categories, - number_of_results=len(results) + len(featured_results), + paging=paging, + pageno=pageno, featured_results=featured_results, suggestions=suggestions ) |