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
					
				
					 2 changed files with 13 additions and 23 deletions
				
			
		| 
						 | 
				
			
			@ -128,7 +128,7 @@ def make_callback(engine_name, callback, params, result_container):
 | 
			
		|||
    return process_callback
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def get_search_query_from_webapp(preferences, request_data):
 | 
			
		||||
def get_search_query_from_webapp(preferences, form):
 | 
			
		||||
    query = None
 | 
			
		||||
    query_engines = []
 | 
			
		||||
    query_categories = []
 | 
			
		||||
| 
						 | 
				
			
			@ -147,11 +147,11 @@ def get_search_query_from_webapp(preferences, request_data):
 | 
			
		|||
    query_safesearch = preferences.get_value('safesearch')
 | 
			
		||||
 | 
			
		||||
    # TODO better exceptions
 | 
			
		||||
    if not request_data.get('q'):
 | 
			
		||||
    if not form.get('q'):
 | 
			
		||||
        raise Exception('noquery')
 | 
			
		||||
 | 
			
		||||
    # 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:
 | 
			
		||||
        pageno_param = 1
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -159,7 +159,7 @@ def get_search_query_from_webapp(preferences, request_data):
 | 
			
		|||
 | 
			
		||||
    # parse query, if tags are set, which change
 | 
			
		||||
    # 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()
 | 
			
		||||
 | 
			
		||||
    # set query
 | 
			
		||||
| 
						 | 
				
			
			@ -170,7 +170,7 @@ def get_search_query_from_webapp(preferences, request_data):
 | 
			
		|||
    if len(raw_text_query.languages):
 | 
			
		||||
        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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -185,7 +185,7 @@ def get_search_query_from_webapp(preferences, request_data):
 | 
			
		|||
    else:
 | 
			
		||||
        # set categories/engines
 | 
			
		||||
        load_default_categories = True
 | 
			
		||||
        for pd_name, pd in request_data.items():
 | 
			
		||||
        for pd_name, pd in form.items():
 | 
			
		||||
            if pd_name == 'categories':
 | 
			
		||||
                query_categories.extend(categ for categ in map(unicode.strip, pd.split(',')) if categ in categories)
 | 
			
		||||
            elif pd_name == 'engines':
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -364,16 +364,6 @@ def render(template_name, override_theme=None, **kwargs):
 | 
			
		|||
 | 
			
		||||
@app.before_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
 | 
			
		||||
    preferences = Preferences(themes, categories.keys(), engines, plugins)
 | 
			
		||||
    try:
 | 
			
		||||
| 
						 | 
				
			
			@ -416,7 +406,7 @@ def index():
 | 
			
		|||
    search_query = None
 | 
			
		||||
    result_container = None
 | 
			
		||||
    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 = SearchWithPlugins(search_query, request)
 | 
			
		||||
        result_container = search.search()
 | 
			
		||||
| 
						 | 
				
			
			@ -428,8 +418,8 @@ def index():
 | 
			
		|||
    results = result_container.get_ordered_results()
 | 
			
		||||
 | 
			
		||||
    # UI
 | 
			
		||||
    advanced_search = request.request_data.get('advanced_search', None)
 | 
			
		||||
    output_format = request.request_data.get('format', 'html')
 | 
			
		||||
    advanced_search = request.form.get('advanced_search', None)
 | 
			
		||||
    output_format = request.form.get('format', 'html')
 | 
			
		||||
    if output_format not in ['html', 'csv', 'json', 'rss']:
 | 
			
		||||
        output_format = 'html'
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -490,7 +480,7 @@ def index():
 | 
			
		|||
        response_rss = render(
 | 
			
		||||
            'opensearch_response_rss.xml',
 | 
			
		||||
            results=results,
 | 
			
		||||
            q=request.request_data['q'],
 | 
			
		||||
            q=request.form['q'],
 | 
			
		||||
            number_of_results=number_of_results,
 | 
			
		||||
            base_url=get_base_url()
 | 
			
		||||
        )
 | 
			
		||||
| 
						 | 
				
			
			@ -499,7 +489,7 @@ def index():
 | 
			
		|||
    return render(
 | 
			
		||||
        'results.html',
 | 
			
		||||
        results=results,
 | 
			
		||||
        q=request.request_data['q'],
 | 
			
		||||
        q=request.form['q'],
 | 
			
		||||
        selected_categories=search_query.categories,
 | 
			
		||||
        pageno=search_query.pageno,
 | 
			
		||||
        time_range=search_query.time_range,
 | 
			
		||||
| 
						 | 
				
			
			@ -531,7 +521,7 @@ def autocompleter():
 | 
			
		|||
    disabled_engines = request.preferences.engines.get_disabled()
 | 
			
		||||
 | 
			
		||||
    # 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()
 | 
			
		||||
 | 
			
		||||
    # check if search query is set
 | 
			
		||||
| 
						 | 
				
			
			@ -564,7 +554,7 @@ def autocompleter():
 | 
			
		|||
        results.append(raw_text_query.getFullQuery())
 | 
			
		||||
 | 
			
		||||
    # 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]),
 | 
			
		||||
                        mimetype='application/json')
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue