@@ -63,40 +63,35 @@ def index():
6363 request_data = request.form
6464 else:
6565 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
10095
10196@app.route('/favicon.ico', methods=['GET'])
10297def fav():