@@ -129,7 +129,7 @@ def parse_query(query):
130@app.route('/', methods=['GET', 'POST'])
130@app.route('/', methods=['GET', 'POST'])
131def index():
131def index():
132− global categories
132+ paging = False
134 if request.method == 'POST':
134 if request.method == 'POST':
135 request_data = request.form
135 request_data = request.form
@@ -138,6 +138,12 @@ def index():
138 if not request_data.get('q'):
138 if not request_data.get('q'):
139 return render('index.html')
139 return render('index.html')
141+ pageno_param = request_data.get('pageno', '1')
142+ if not pageno_param.isdigit() or int(pageno_param) < 1:
143+ return render('index.html')
145+ pageno = int(pageno_param)
141 selected_categories = []
147 selected_categories = []
143 query, selected_engines = parse_query(request_data['q'].encode('utf-8'))
149 query, selected_engines = parse_query(request_data['q'].encode('utf-8'))
@@ -166,10 +172,12 @@ def index():
166 'name': x.name}
172 'name': x.name}
167 for x in categories[categ])
173 for x in categories[categ])
169− results, suggestions = search(query, request, selected_engines)
175+ results, suggestions = search(query, request, selected_engines, pageno)
171 featured_results = []
177 featured_results = []
172 for result in results:
178 for result in results:
179+ if not paging and engines[result['engine']].paging:
173 if request_data.get('format', 'html') == 'html':
181 if request_data.get('format', 'html') == 'html':
174 if 'content' in result:
182 if 'content' in result:
175 result['content'] = highlight_content(result['content'], query)
183 result['content'] = highlight_content(result['content'], query)
@@ -219,7 +227,8 @@ def index():
219 results=results,
227 results=results,
220 q=request_data['q'],
228 q=request_data['q'],
221 selected_categories=selected_categories,
229 selected_categories=selected_categories,
222− number_of_results=len(results) + len(featured_results),
230+ paging=paging,
223 featured_results=featured_results,
232 featured_results=featured_results,
224 suggestions=suggestions
233 suggestions=suggestions