|
@@ -27,20 +27,16 @@ from searx.engines import (
|
27
|
27
|
)
|
28
|
28
|
from searx.answerers import ask
|
29
|
29
|
from searx.utils import gen_useragent
|
30
|
|
-from searx.query import RawTextQuery, SearchQuery
|
|
30
|
+from searx.query import RawTextQuery, SearchQuery, VALID_LANGUAGE_CODE
|
31
|
31
|
from searx.results import ResultContainer
|
32
|
32
|
from searx import logger
|
33
|
33
|
from searx.plugins import plugins
|
34
|
|
-from searx.languages import language_codes
|
35
|
34
|
from searx.exceptions import SearxParameterException
|
36
|
35
|
|
37
|
36
|
logger = logger.getChild('search')
|
38
|
37
|
|
39
|
38
|
number_of_searches = 0
|
40
|
39
|
|
41
|
|
-language_code_set = set(l[0].lower() for l in language_codes)
|
42
|
|
-language_code_set.add('all')
|
43
|
|
-
|
44
|
40
|
|
45
|
41
|
def send_http_request(engine, request_params, start_time, timeout_limit):
|
46
|
42
|
# for page_load_time stats
|
|
@@ -219,7 +215,7 @@ def get_search_query_from_webapp(preferences, form):
|
219
|
215
|
query_lang = preferences.get_value('language')
|
220
|
216
|
|
221
|
217
|
# check language
|
222
|
|
- if query_lang.lower() not in language_code_set:
|
|
218
|
+ if not VALID_LANGUAGE_CODE.match(query_lang):
|
223
|
219
|
raise SearxParameterException('language', query_lang)
|
224
|
220
|
|
225
|
221
|
# get safesearch
|
|
@@ -371,11 +367,6 @@ class Search(object):
|
371
|
367
|
if search_query.pageno > 1 and not engine.paging:
|
372
|
368
|
continue
|
373
|
369
|
|
374
|
|
- # if search-language is set and engine does not
|
375
|
|
- # provide language-support, skip
|
376
|
|
- if search_query.lang != 'all' and not engine.language_support:
|
377
|
|
- continue
|
378
|
|
-
|
379
|
370
|
# if time_range is not supported, skip
|
380
|
371
|
if search_query.time_range and not engine.time_range_support:
|
381
|
372
|
continue
|