summaryrefslogtreecommitdiff
path: root/searx/engines/__init__.py
diff options
context:
space:
mode:
authorasciimoo <asciimoo@gmail.com>2014-01-31 04:35:23 +0100
committerasciimoo <asciimoo@gmail.com>2014-01-31 04:35:23 +0100
commit2a788c8f29f63bc069436f1a12343a47d66f2523 (patch)
treecc44113f213cd565797d3c9a87e8afe72ccf5539 /searx/engines/__init__.py
parent90a93422865b81ce256ab02a367a4d3529eb2d18 (diff)
[enh] search language support init
Diffstat (limited to 'searx/engines/__init__.py')
-rw-r--r--searx/engines/__init__.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/searx/engines/__init__.py b/searx/engines/__init__.py
index 73a63f0a3..ac0c13c76 100644
--- a/searx/engines/__init__.py
+++ b/searx/engines/__init__.py
@@ -53,8 +53,14 @@ if not 'engines' in settings or not settings['engines']:
for engine_data in settings['engines']:
engine_name = engine_data['engine']
engine = load_module(engine_name + '.py')
+
if not hasattr(engine, 'paging'):
engine.paging = False
+
+ if not hasattr(engine, 'language_support'):
+ #engine.language_support = False
+ engine.language_support = True
+
for param_name in engine_data:
if param_name == 'engine':
continue
@@ -158,7 +164,7 @@ def score_results(results):
return sorted(results, key=itemgetter('score'), reverse=True)
-def search(query, request, selected_engines, pageno=1):
+def search(query, request, selected_engines, pageno=1, lang='all'):
global engines, categories, number_of_searches
requests = []
results = {}
@@ -176,11 +182,15 @@ def search(query, request, selected_engines, pageno=1):
if pageno > 1 and not engine.paging:
continue
+ if lang != 'all' and not engine.language_support:
+ continue
+
request_params = default_request_params()
request_params['headers']['User-Agent'] = user_agent
request_params['category'] = selected_engine['category']
request_params['started'] = datetime.now()
request_params['pageno'] = pageno
+ request_params['language'] = lang
request_params = engine.request(query, request_params)
callback = make_callback(