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