on master help sign in
[enh] engine params to response callbacks
5dcddbcasciimoo
searx/engines/__init__.py+3−2
@@ -66,9 +66,10 @@ for section in engines_config.sections():
66def default_request_params():
66def default_request_params():
67 return {'method': 'GET', 'headers': {}, 'data': {}, 'url': '', 'cookies': {}}
67 return {'method': 'GET', 'headers': {}, 'data': {}, 'url': '', 'cookies': {}}
68
68
69−def make_callback(engine_name, results, callback):
69+def make_callback(engine_name, results, callback, params):
70 def process_callback(response, **kwargs):
70 def process_callback(response, **kwargs):
71 cb_res = []
71 cb_res = []
72+ response.request_params = params
72 for result in callback(response):
73 for result in callback(response):
73 result['engine'] = engine_name
74 result['engine'] = engine_name
74 cb_res.append(result)
75 cb_res.append(result)
@@ -93,7 +94,7 @@ def search(query, request, selected_categories):
93 request_params['headers']['User-Agent'] = user_agent
94 request_params['headers']['User-Agent'] = user_agent
94 request_params['category'] = selected_engine['category']
95 request_params['category'] = selected_engine['category']
95 request_params = engine.request(query, request_params)
96 request_params = engine.request(query, request_params)
96− callback = make_callback(selected_engine['name'], results, engine.response)
97+ callback = make_callback(selected_engine['name'], results, engine.response, request_params)
97 if request_params['method'] == 'GET':
98 if request_params['method'] == 'GET':
98 req = grequests.get(request_params['url']
99 req = grequests.get(request_params['url']
99 ,headers=request_params['headers']
100 ,headers=request_params['headers']