forked from zaclys/searxng
[mod] replace references request.request_data (GET or POST parameters) by request.form (based on merge of POST and GET parameters)
This commit is contained in:
parent
fbb080f358
commit
58a6c045c8
|
@ -128,7 +128,7 @@ def make_callback(engine_name, callback, params, result_container):
|
||||||
return process_callback
|
return process_callback
|
||||||
|
|
||||||
|
|
||||||
def get_search_query_from_webapp(preferences, request_data):
|
def get_search_query_from_webapp(preferences, form):
|
||||||
query = None
|
query = None
|
||||||
query_engines = []
|
query_engines = []
|
||||||
query_categories = []
|
query_categories = []
|
||||||
|
@ -147,11 +147,11 @@ def get_search_query_from_webapp(preferences, request_data):
|
||||||
query_safesearch = preferences.get_value('safesearch')
|
query_safesearch = preferences.get_value('safesearch')
|
||||||
|
|
||||||
# TODO better exceptions
|
# TODO better exceptions
|
||||||
if not request_data.get('q'):
|
if not form.get('q'):
|
||||||
raise Exception('noquery')
|
raise Exception('noquery')
|
||||||
|
|
||||||
# set pagenumber
|
# set pagenumber
|
||||||
pageno_param = request_data.get('pageno', '1')
|
pageno_param = form.get('pageno', '1')
|
||||||
if not pageno_param.isdigit() or int(pageno_param) < 1:
|
if not pageno_param.isdigit() or int(pageno_param) < 1:
|
||||||
pageno_param = 1
|
pageno_param = 1
|
||||||
|
|
||||||
|
@ -159,7 +159,7 @@ def get_search_query_from_webapp(preferences, request_data):
|
||||||
|
|
||||||
# parse query, if tags are set, which change
|
# parse query, if tags are set, which change
|
||||||
# the serch engine or search-language
|
# the serch engine or search-language
|
||||||
raw_text_query = RawTextQuery(request_data['q'], disabled_engines)
|
raw_text_query = RawTextQuery(form['q'], disabled_engines)
|
||||||
raw_text_query.parse_query()
|
raw_text_query.parse_query()
|
||||||
|
|
||||||
# set query
|
# set query
|
||||||
|
@ -170,7 +170,7 @@ def get_search_query_from_webapp(preferences, request_data):
|
||||||
if len(raw_text_query.languages):
|
if len(raw_text_query.languages):
|
||||||
query_lang = raw_text_query.languages[-1]
|
query_lang = raw_text_query.languages[-1]
|
||||||
|
|
||||||
query_time_range = request_data.get('time_range')
|
query_time_range = form.get('time_range')
|
||||||
|
|
||||||
query_engines = raw_text_query.engines
|
query_engines = raw_text_query.engines
|
||||||
|
|
||||||
|
@ -185,7 +185,7 @@ def get_search_query_from_webapp(preferences, request_data):
|
||||||
else:
|
else:
|
||||||
# set categories/engines
|
# set categories/engines
|
||||||
load_default_categories = True
|
load_default_categories = True
|
||||||
for pd_name, pd in request_data.items():
|
for pd_name, pd in form.items():
|
||||||
if pd_name == 'categories':
|
if pd_name == 'categories':
|
||||||
query_categories.extend(categ for categ in map(unicode.strip, pd.split(',')) if categ in categories)
|
query_categories.extend(categ for categ in map(unicode.strip, pd.split(',')) if categ in categories)
|
||||||
elif pd_name == 'engines':
|
elif pd_name == 'engines':
|
||||||
|
|
|
@ -364,16 +364,6 @@ def render(template_name, override_theme=None, **kwargs):
|
||||||
|
|
||||||
@app.before_request
|
@app.before_request
|
||||||
def pre_request():
|
def pre_request():
|
||||||
# request.request_data
|
|
||||||
if request.method == 'POST':
|
|
||||||
request_data = request.form
|
|
||||||
elif request.method == 'GET':
|
|
||||||
request_data = request.args
|
|
||||||
else:
|
|
||||||
request_data = {}
|
|
||||||
|
|
||||||
request.request_data = request_data
|
|
||||||
|
|
||||||
# merge GET, POST vars
|
# merge GET, POST vars
|
||||||
preferences = Preferences(themes, categories.keys(), engines, plugins)
|
preferences = Preferences(themes, categories.keys(), engines, plugins)
|
||||||
try:
|
try:
|
||||||
|
@ -416,7 +406,7 @@ def index():
|
||||||
search_query = None
|
search_query = None
|
||||||
result_container = None
|
result_container = None
|
||||||
try:
|
try:
|
||||||
search_query = get_search_query_from_webapp(request.preferences, request.request_data)
|
search_query = get_search_query_from_webapp(request.preferences, request.form)
|
||||||
# search = Search(search_query) # without plugins
|
# search = Search(search_query) # without plugins
|
||||||
search = SearchWithPlugins(search_query, request)
|
search = SearchWithPlugins(search_query, request)
|
||||||
result_container = search.search()
|
result_container = search.search()
|
||||||
|
@ -428,8 +418,8 @@ def index():
|
||||||
results = result_container.get_ordered_results()
|
results = result_container.get_ordered_results()
|
||||||
|
|
||||||
# UI
|
# UI
|
||||||
advanced_search = request.request_data.get('advanced_search', None)
|
advanced_search = request.form.get('advanced_search', None)
|
||||||
output_format = request.request_data.get('format', 'html')
|
output_format = request.form.get('format', 'html')
|
||||||
if output_format not in ['html', 'csv', 'json', 'rss']:
|
if output_format not in ['html', 'csv', 'json', 'rss']:
|
||||||
output_format = 'html'
|
output_format = 'html'
|
||||||
|
|
||||||
|
@ -490,7 +480,7 @@ def index():
|
||||||
response_rss = render(
|
response_rss = render(
|
||||||
'opensearch_response_rss.xml',
|
'opensearch_response_rss.xml',
|
||||||
results=results,
|
results=results,
|
||||||
q=request.request_data['q'],
|
q=request.form['q'],
|
||||||
number_of_results=number_of_results,
|
number_of_results=number_of_results,
|
||||||
base_url=get_base_url()
|
base_url=get_base_url()
|
||||||
)
|
)
|
||||||
|
@ -499,7 +489,7 @@ def index():
|
||||||
return render(
|
return render(
|
||||||
'results.html',
|
'results.html',
|
||||||
results=results,
|
results=results,
|
||||||
q=request.request_data['q'],
|
q=request.form['q'],
|
||||||
selected_categories=search_query.categories,
|
selected_categories=search_query.categories,
|
||||||
pageno=search_query.pageno,
|
pageno=search_query.pageno,
|
||||||
time_range=search_query.time_range,
|
time_range=search_query.time_range,
|
||||||
|
@ -531,7 +521,7 @@ def autocompleter():
|
||||||
disabled_engines = request.preferences.engines.get_disabled()
|
disabled_engines = request.preferences.engines.get_disabled()
|
||||||
|
|
||||||
# parse query
|
# parse query
|
||||||
raw_text_query = RawTextQuery(request.request_data.get('q', '').encode('utf-8'), disabled_engines)
|
raw_text_query = RawTextQuery(request.form.get('q', '').encode('utf-8'), disabled_engines)
|
||||||
raw_text_query.parse_query()
|
raw_text_query.parse_query()
|
||||||
|
|
||||||
# check if search query is set
|
# check if search query is set
|
||||||
|
@ -564,7 +554,7 @@ def autocompleter():
|
||||||
results.append(raw_text_query.getFullQuery())
|
results.append(raw_text_query.getFullQuery())
|
||||||
|
|
||||||
# return autocompleter results
|
# return autocompleter results
|
||||||
if request.request_data.get('format') == 'x-suggestions':
|
if request.form.get('format') == 'x-suggestions':
|
||||||
return Response(json.dumps([raw_text_query.query, results]),
|
return Response(json.dumps([raw_text_query.query, results]),
|
||||||
mimetype='application/json')
|
mimetype='application/json')
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue