|  | @@ -63,40 +63,35 @@ def index():
 | 
	
		
			
			| 63 | 63 |          request_data = request.form
 | 
	
		
			
			| 64 | 64 |      else:
 | 
	
		
			
			| 65 | 65 |          request_data = request.args
 | 
	
		
			
			| 66 |  | -    if request_data.get('q'):
 | 
	
		
			
			| 67 |  | -        selected_engines = []
 | 
	
		
			
			| 68 |  | -        selected_categories = []
 | 
	
		
			
			| 69 |  | -        for pd_name,pd in request_data.items():
 | 
	
		
			
			| 70 |  | -            if pd_name.startswith('category_'):
 | 
	
		
			
			| 71 |  | -                category = pd_name[9:]
 | 
	
		
			
			| 72 |  | -                if not category in categories:
 | 
	
		
			
			| 73 |  | -                    continue
 | 
	
		
			
			| 74 |  | -                selected_categories.append(category)
 | 
	
		
			
			| 75 |  | -                selected_engines.extend(x.name for x in categories[category])
 | 
	
		
			
			| 76 |  | -        if not len(selected_engines):
 | 
	
		
			
			| 77 |  | -            cookie_categories = request.cookies.get('categories', '').split(',')
 | 
	
		
			
			| 78 |  | -            for ccateg in cookie_categories:
 | 
	
		
			
			| 79 |  | -                if ccateg in categories:
 | 
	
		
			
			| 80 |  | -                    selected_categories.append(ccateg)
 | 
	
		
			
			| 81 |  | -                    selected_engines.extend(x.name for x in categories[ccateg])
 | 
	
		
			
			| 82 |  | -        if not len(selected_engines):
 | 
	
		
			
			| 83 |  | -            selected_categories.append('general')
 | 
	
		
			
			| 84 |  | -            selected_engines.extend(x.name for x in categories['general'])
 | 
	
		
			
			| 85 |  | -        query = request_data['q'].encode('utf-8')
 | 
	
		
			
			| 86 |  | -        results = search(query, request, selected_engines)
 | 
	
		
			
			| 87 |  | -        if request_data.get('format') == 'json':
 | 
	
		
			
			| 88 |  | -            # TODO HTTP headers
 | 
	
		
			
			| 89 |  | -            return json.dumps({'query': query, 'results': results})
 | 
	
		
			
			| 90 |  | -        template = render('results.html'
 | 
	
		
			
			| 91 |  | -                         ,results=results
 | 
	
		
			
			| 92 |  | -                         ,q=query.decode('utf-8')
 | 
	
		
			
			| 93 |  | -                         ,selected_categories=selected_categories
 | 
	
		
			
			| 94 |  | -                         ,number_of_results=len(results)
 | 
	
		
			
			| 95 |  | -                         )
 | 
	
		
			
			| 96 |  | -        resp = make_response(template)
 | 
	
		
			
			| 97 |  | -        resp.set_cookie('categories', ','.join(selected_categories))
 | 
	
		
			
			| 98 |  | -        return resp
 | 
	
		
			
			| 99 |  | -    return render('index.html')
 | 
	
		
			
			|  | 66 | +    if not request_data.get('q'):
 | 
	
		
			
			|  | 67 | +        return render('index.html')
 | 
	
		
			
			|  | 68 | +    selected_engines = []
 | 
	
		
			
			|  | 69 | +    selected_categories = []
 | 
	
		
			
			|  | 70 | +    for pd_name,pd in request_data.items():
 | 
	
		
			
			|  | 71 | +        if pd_name.startswith('category_'):
 | 
	
		
			
			|  | 72 | +            category = pd_name[9:]
 | 
	
		
			
			|  | 73 | +            if not category in categories:
 | 
	
		
			
			|  | 74 | +                continue
 | 
	
		
			
			|  | 75 | +            selected_categories.append(category)
 | 
	
		
			
			|  | 76 | +    if not len(selected_categories):
 | 
	
		
			
			|  | 77 | +        cookie_categories = request.cookies.get('categories', '').split(',')
 | 
	
		
			
			|  | 78 | +        for ccateg in cookie_categories:
 | 
	
		
			
			|  | 79 | +            if ccateg in categories:
 | 
	
		
			
			|  | 80 | +                selected_categories.append(ccateg)
 | 
	
		
			
			|  | 81 | +    query = request_data['q'].encode('utf-8')
 | 
	
		
			
			|  | 82 | +    results = search(query, request, selected_categories)
 | 
	
		
			
			|  | 83 | +    if request_data.get('format') == 'json':
 | 
	
		
			
			|  | 84 | +        # TODO HTTP headers
 | 
	
		
			
			|  | 85 | +        return json.dumps({'query': query, 'results': results})
 | 
	
		
			
			|  | 86 | +    template = render('results.html'
 | 
	
		
			
			|  | 87 | +                        ,results=results
 | 
	
		
			
			|  | 88 | +                        ,q=query.decode('utf-8')
 | 
	
		
			
			|  | 89 | +                        ,selected_categories=selected_categories
 | 
	
		
			
			|  | 90 | +                        ,number_of_results=len(results)
 | 
	
		
			
			|  | 91 | +                        )
 | 
	
		
			
			|  | 92 | +    resp = make_response(template)
 | 
	
		
			
			|  | 93 | +    resp.set_cookie('categories', ','.join(selected_categories))
 | 
	
		
			
			|  | 94 | +    return resp
 | 
	
		
			
			| 100 | 95 |  
 | 
	
		
			
			| 101 | 96 |  @app.route('/favicon.ico', methods=['GET'])
 | 
	
		
			
			| 102 | 97 |  def fav():
 |