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