|
|
|
|
60
|
def index():
|
60
|
def index():
|
61
|
global categories
|
61
|
global categories
|
62
|
if request.method=='POST':
|
62
|
if request.method=='POST':
|
63
|
- if not request.form.get('q'):
|
|
|
64
|
- flash('Wrong post data')
|
|
|
65
|
- return render('index.html')
|
|
|
|
|
63
|
+ request_data = request.form
|
|
|
64
|
+ else:
|
|
|
65
|
+ request_data = request.args
|
|
|
66
|
+ if request_data.get('q'):
|
66
|
selected_engines = []
|
67
|
selected_engines = []
|
67
|
selected_categories = []
|
68
|
selected_categories = []
|
68
|
- for pd_name,pd in request.form.items():
|
|
|
|
|
69
|
+ for pd_name,pd in request_data.items():
|
69
|
if pd_name.startswith('category_'):
|
70
|
if pd_name.startswith('category_'):
|
70
|
category = pd_name[9:]
|
71
|
category = pd_name[9:]
|
71
|
if not category in categories:
|
72
|
if not category in categories:
|
|
|
|
|
81
|
if not len(selected_engines):
|
82
|
if not len(selected_engines):
|
82
|
selected_categories.append('general')
|
83
|
selected_categories.append('general')
|
83
|
selected_engines.extend(x.name for x in categories['general'])
|
84
|
selected_engines.extend(x.name for x in categories['general'])
|
84
|
- query = request.form['q'].encode('utf-8')
|
|
|
|
|
85
|
+ query = request_data['q'].encode('utf-8')
|
85
|
results = search(query, request, selected_engines)
|
86
|
results = search(query, request, selected_engines)
|
86
|
- if request.form.get('format') == 'json':
|
|
|
|
|
87
|
+ if request_data.get('format') == 'json':
|
87
|
# TODO HTTP headers
|
88
|
# TODO HTTP headers
|
88
|
return json.dumps({'query': query, 'results': results})
|
89
|
return json.dumps({'query': query, 'results': results})
|
89
|
template = render('results.html'
|
90
|
template = render('results.html'
|