summaryrefslogtreecommitdiff
path: root/searx/webapp.py
diff options
context:
space:
mode:
Diffstat (limited to 'searx/webapp.py')
-rw-r--r--searx/webapp.py15
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
)