on master help sign in
[mod] replace references request.request_data (GET or POST parameters) by request.form (based on merge of POST and GET parameters)
58a6c04Alexandre Flament
searx/search.py+6−6
@@ -128,7 +128,7 @@ def make_callback(engine_name, callback, params, result_container):
128 return process_callback
128 return process_callback
129
129
130
130
131−def get_search_query_from_webapp(preferences, request_data):
131+def get_search_query_from_webapp(preferences, form):
132 query = None
132 query = None
133 query_engines = []
133 query_engines = []
134 query_categories = []
134 query_categories = []
@@ -147,11 +147,11 @@ def get_search_query_from_webapp(preferences, request_data):
147 query_safesearch = preferences.get_value('safesearch')
147 query_safesearch = preferences.get_value('safesearch')
148
148
149 # TODO better exceptions
149 # TODO better exceptions
150− if not request_data.get('q'):
150+ if not form.get('q'):
151 raise Exception('noquery')
151 raise Exception('noquery')
152
152
153 # set pagenumber
153 # set pagenumber
154− pageno_param = request_data.get('pageno', '1')
154+ pageno_param = form.get('pageno', '1')
155 if not pageno_param.isdigit() or int(pageno_param) < 1:
155 if not pageno_param.isdigit() or int(pageno_param) < 1:
156 pageno_param = 1
156 pageno_param = 1
157
157
@@ -159,7 +159,7 @@ def get_search_query_from_webapp(preferences, request_data):
159
159
160 # parse query, if tags are set, which change
160 # parse query, if tags are set, which change
161 # the serch engine or search-language
161 # the serch engine or search-language
162− raw_text_query = RawTextQuery(request_data['q'], disabled_engines)
162+ raw_text_query = RawTextQuery(form['q'], disabled_engines)
163 raw_text_query.parse_query()
163 raw_text_query.parse_query()
164
164
165 # set query
165 # set query
@@ -170,7 +170,7 @@ def get_search_query_from_webapp(preferences, request_data):
170 if len(raw_text_query.languages):
170 if len(raw_text_query.languages):
171 query_lang = raw_text_query.languages[-1]
171 query_lang = raw_text_query.languages[-1]
172
172
173− query_time_range = request_data.get('time_range')
173+ query_time_range = form.get('time_range')
174
174
175 query_engines = raw_text_query.engines
175 query_engines = raw_text_query.engines
176
176
@@ -185,7 +185,7 @@ def get_search_query_from_webapp(preferences, request_data):
185 else:
185 else:
186 # set categories/engines
186 # set categories/engines
187 load_default_categories = True
187 load_default_categories = True
188− for pd_name, pd in request_data.items():
188+ for pd_name, pd in form.items():
189 if pd_name == 'categories':
189 if pd_name == 'categories':
190 query_categories.extend(categ for categ in map(unicode.strip, pd.split(',')) if categ in categories)
190 query_categories.extend(categ for categ in map(unicode.strip, pd.split(',')) if categ in categories)
191 elif pd_name == 'engines':
191 elif pd_name == 'engines':
searx/webapp.py+7−17
@@ -364,16 +364,6 @@ def render(template_name, override_theme=None, **kwargs):
364
364
365@app.before_request
365@app.before_request
366def pre_request():
366def pre_request():
367− # request.request_data
368− if request.method == 'POST':
369− request_data = request.form
370− elif request.method == 'GET':
371− request_data = request.args
372− else:
373− request_data = {}
374−
375− request.request_data = request_data
376−
377 # merge GET, POST vars
367 # merge GET, POST vars
378 preferences = Preferences(themes, categories.keys(), engines, plugins)
368 preferences = Preferences(themes, categories.keys(), engines, plugins)
379 try:
369 try:
@@ -416,7 +406,7 @@ def index():
416 search_query = None
406 search_query = None
417 result_container = None
407 result_container = None
418 try:
408 try:
419− search_query = get_search_query_from_webapp(request.preferences, request.request_data)
409+ search_query = get_search_query_from_webapp(request.preferences, request.form)
420 # search = Search(search_query) # without plugins
410 # search = Search(search_query) # without plugins
421 search = SearchWithPlugins(search_query, request)
411 search = SearchWithPlugins(search_query, request)
422 result_container = search.search()
412 result_container = search.search()
@@ -428,8 +418,8 @@ def index():
428 results = result_container.get_ordered_results()
418 results = result_container.get_ordered_results()
429
419
430 # UI
420 # UI
431− advanced_search = request.request_data.get('advanced_search', None)
421+ advanced_search = request.form.get('advanced_search', None)
432− output_format = request.request_data.get('format', 'html')
422+ output_format = request.form.get('format', 'html')
433 if output_format not in ['html', 'csv', 'json', 'rss']:
423 if output_format not in ['html', 'csv', 'json', 'rss']:
434 output_format = 'html'
424 output_format = 'html'
435
425
@@ -490,7 +480,7 @@ def index():
490 response_rss = render(
480 response_rss = render(
491 'opensearch_response_rss.xml',
481 'opensearch_response_rss.xml',
492 results=results,
482 results=results,
493− q=request.request_data['q'],
483+ q=request.form['q'],
494 number_of_results=number_of_results,
484 number_of_results=number_of_results,
495 base_url=get_base_url()
485 base_url=get_base_url()
496 )
486 )
@@ -499,7 +489,7 @@ def index():
499 return render(
489 return render(
500 'results.html',
490 'results.html',
501 results=results,
491 results=results,
502− q=request.request_data['q'],
492+ q=request.form['q'],
503 selected_categories=search_query.categories,
493 selected_categories=search_query.categories,
504 pageno=search_query.pageno,
494 pageno=search_query.pageno,
505 time_range=search_query.time_range,
495 time_range=search_query.time_range,
@@ -531,7 +521,7 @@ def autocompleter():
531 disabled_engines = request.preferences.engines.get_disabled()
521 disabled_engines = request.preferences.engines.get_disabled()
532
522
533 # parse query
523 # parse query
534− raw_text_query = RawTextQuery(request.request_data.get('q', '').encode('utf-8'), disabled_engines)
524+ raw_text_query = RawTextQuery(request.form.get('q', '').encode('utf-8'), disabled_engines)
535 raw_text_query.parse_query()
525 raw_text_query.parse_query()
536
526
537 # check if search query is set
527 # check if search query is set
@@ -564,7 +554,7 @@ def autocompleter():
564 results.append(raw_text_query.getFullQuery())
554 results.append(raw_text_query.getFullQuery())
565
555
566 # return autocompleter results
556 # return autocompleter results
567− if request.request_data.get('format') == 'x-suggestions':
557+ if request.form.get('format') == 'x-suggestions':
568 return Response(json.dumps([raw_text_query.query, results]),
558 return Response(json.dumps([raw_text_query.query, results]),
569 mimetype='application/json')
559 mimetype='application/json')
570
560