Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
e
infra
spot
Commits
2438b3c7
Unverified
Commit
2438b3c7
authored
Jan 07, 2019
by
Noémi Ványi
Committed by
GitHub
Jan 07, 2019
Browse files
Merge pull request #1475 from kvch/add-all-language-option-again
Revert "remove 'all' option from search languages"
parents
491792c1
97351a2c
Changes
51
Show whitespace changes
Inline
Side-by-side
searx/engines/archlinux.py
View file @
2438b3c7
...
...
@@ -36,7 +36,7 @@ def locale_to_lang_code(locale):
# wikis for some languages were moved off from the main site, we need to make
# requests to correct URLs to be able to get results in those languages
lang_urls
=
{
'
en
'
:
{
'
all
'
:
{
'base'
:
'https://wiki.archlinux.org'
,
'search'
:
'/index.php?title=Special:Search&offset={offset}&{query}'
},
...
...
@@ -67,7 +67,7 @@ lang_urls = {
def
get_lang_urls
(
language
):
if
language
in
lang_urls
:
return
lang_urls
[
language
]
return
lang_urls
[
'
en
'
]
return
lang_urls
[
'
all
'
]
# Language names to build search requests for
...
...
searx/engines/bing.py
View file @
2438b3c7
...
...
@@ -34,6 +34,9 @@ search_string = 'search?{query}&first={offset}'
def
request
(
query
,
params
):
offset
=
(
params
[
'pageno'
]
-
1
)
*
10
+
1
if
params
[
'language'
]
==
'all'
:
lang
=
'EN'
else
:
lang
=
match_language
(
params
[
'language'
],
supported_languages
,
language_aliases
)
query
=
u
'language:{} {}'
.
format
(
lang
.
split
(
'-'
)[
0
].
upper
(),
query
.
decode
(
'utf-8'
)).
encode
(
'utf-8'
)
...
...
searx/engines/bing_news.py
View file @
2438b3c7
...
...
@@ -71,6 +71,9 @@ def request(query, params):
offset
=
(
params
[
'pageno'
]
-
1
)
*
10
+
1
if
params
[
'language'
]
==
'all'
:
language
=
'en-US'
else
:
language
=
match_language
(
params
[
'language'
],
supported_languages
,
language_aliases
)
params
[
'url'
]
=
_get_url
(
query
,
language
,
offset
,
params
[
'time_range'
])
...
...
searx/engines/dailymotion.py
View file @
2438b3c7
...
...
@@ -33,6 +33,9 @@ supported_languages_url = 'https://api.dailymotion.com/languages'
# do search-request
def
request
(
query
,
params
):
if
params
[
'language'
]
==
'all'
:
locale
=
'en-US'
else
:
locale
=
match_language
(
params
[
'language'
],
supported_languages
)
params
[
'url'
]
=
search_url
.
format
(
...
...
searx/engines/duckduckgo.py
View file @
2438b3c7
...
...
@@ -54,6 +54,9 @@ content_xpath = './/a[@class="result__snippet"]'
# match query's language to a region code that duckduckgo will accept
def
get_region_code
(
lang
,
lang_list
=
[]):
if
lang
==
'all'
:
return
None
lang_code
=
match_language
(
lang
,
lang_list
,
language_aliases
,
'wt-WT'
)
lang_parts
=
lang_code
.
split
(
'-'
)
...
...
@@ -61,7 +64,6 @@ def get_region_code(lang, lang_list=[]):
return
lang_parts
[
1
].
lower
()
+
'-'
+
lang_parts
[
0
].
lower
()
# do search-request
def
request
(
query
,
params
):
if
params
[
'time_range'
]
and
params
[
'time_range'
]
not
in
time_range_dict
:
return
params
...
...
@@ -69,8 +71,12 @@ def request(query, params):
offset
=
(
params
[
'pageno'
]
-
1
)
*
30
region_code
=
get_region_code
(
params
[
'language'
],
supported_languages
)
if
region_code
:
params
[
'url'
]
=
url
.
format
(
query
=
urlencode
({
'q'
:
query
,
'kl'
:
region_code
}),
offset
=
offset
,
dc_param
=
offset
)
else
:
params
[
'url'
]
=
url
.
format
(
query
=
urlencode
({
'q'
:
query
}),
offset
=
offset
,
dc_param
=
offset
)
if
params
[
'time_range'
]
in
time_range_dict
:
params
[
'url'
]
+=
time_range_url
.
format
(
range
=
time_range_dict
[
params
[
'time_range'
]])
...
...
searx/engines/duckduckgo_images.py
View file @
2438b3c7
...
...
@@ -56,8 +56,12 @@ def request(query, params):
safesearch
=
params
[
'safesearch'
]
-
1
region_code
=
get_region_code
(
params
[
'language'
],
lang_list
=
supported_languages
)
if
region_code
:
params
[
'url'
]
=
images_url
.
format
(
query
=
urlencode
({
'q'
:
query
,
'l'
:
region_code
}),
offset
=
offset
,
safesearch
=
safesearch
,
vqd
=
vqd
)
else
:
params
[
'url'
]
=
images_url
.
format
(
query
=
urlencode
({
'q'
:
query
}),
offset
=
offset
,
safesearch
=
safesearch
,
vqd
=
vqd
)
return
params
...
...
searx/engines/faroo.py
View file @
2438b3c7
...
...
@@ -40,6 +40,9 @@ def request(query, params):
offset
=
(
params
[
'pageno'
]
-
1
)
*
number_of_results
+
1
categorie
=
search_category
.
get
(
params
[
'category'
],
'web'
)
if
params
[
'language'
]
==
'all'
:
language
=
'en'
else
:
language
=
params
[
'language'
].
split
(
'-'
)[
0
]
# if language is not supported, put it in english
...
...
searx/engines/gigablast.py
View file @
2438b3c7
...
...
@@ -50,6 +50,9 @@ supported_languages_url = 'https://gigablast.com/search?&rxikd=1'
def
request
(
query
,
params
):
offset
=
(
params
[
'pageno'
]
-
1
)
*
number_of_results
if
params
[
'language'
]
==
'all'
:
language
=
'xx'
else
:
language
=
params
[
'language'
].
replace
(
'-'
,
'_'
).
lower
()
if
language
.
split
(
'-'
)[
0
]
!=
'zh'
:
language
=
language
.
split
(
'-'
)[
0
]
...
...
searx/engines/google.py
View file @
2438b3c7
...
...
@@ -166,7 +166,11 @@ def extract_text_from_dom(result, xpath):
def
request
(
query
,
params
):
offset
=
(
params
[
'pageno'
]
-
1
)
*
10
if
params
[
'language'
]
==
'all'
or
params
[
'language'
]
==
'en-US'
:
language
=
'en-GB'
else
:
language
=
match_language
(
params
[
'language'
],
supported_languages
,
language_aliases
)
language_array
=
language
.
split
(
'-'
)
if
params
[
'language'
].
find
(
'-'
)
>
0
:
country
=
params
[
'language'
].
split
(
'-'
)[
1
]
...
...
searx/engines/google_news.py
View file @
2438b3c7
...
...
@@ -51,6 +51,7 @@ def request(query, params):
params
[
'url'
]
=
search_url
.
format
(
query
=
urlencode
({
'q'
:
query
}),
search_options
=
urlencode
(
search_options
))
if
params
[
'language'
]
!=
'all'
:
language
=
match_language
(
params
[
'language'
],
supported_languages
,
language_aliases
).
split
(
'-'
)[
0
]
if
language
:
params
[
'url'
]
+=
'&lr=lang_'
+
language
...
...
searx/engines/mediawiki.py
View file @
2438b3c7
...
...
@@ -45,6 +45,9 @@ def request(query, params):
format_strings
=
list
(
Formatter
().
parse
(
base_url
))
if
params
[
'language'
]
==
'all'
:
language
=
'en'
else
:
language
=
params
[
'language'
].
split
(
'-'
)[
0
]
# format_string [('https://', 'language', '', None), ('.wikipedia.org/', None, None, None)]
...
...
searx/engines/photon.py
View file @
2438b3c7
...
...
@@ -35,7 +35,8 @@ def request(query, params):
search_string
.
format
(
query
=
urlencode
({
'q'
:
query
}),
limit
=
number_of_results
)
language
=
params
[
'language'
].
split
(
'-'
)[
0
]
if
params
[
'language'
]
!=
'all'
:
language
=
params
[
'language'
].
split
(
'_'
)[
0
]
if
language
in
supported_languages
:
params
[
'url'
]
=
params
[
'url'
]
+
"&lang="
+
language
...
...
searx/engines/qwant.py
View file @
2438b3c7
...
...
@@ -46,6 +46,7 @@ def request(query, params):
offset
=
offset
)
# add language tag
if
params
[
'language'
]
!=
'all'
:
language
=
match_language
(
params
[
'language'
],
supported_languages
,
language_aliases
)
params
[
'url'
]
+=
'&locale='
+
language
.
replace
(
'-'
,
'_'
).
lower
()
...
...
searx/engines/startpage.py
View file @
2438b3c7
...
...
@@ -46,7 +46,8 @@ def request(query, params):
params
[
'data'
]
=
{
'query'
:
query
,
'startat'
:
offset
}
# set language
# set language if specified
if
params
[
'language'
]
!=
'all'
:
params
[
'data'
][
'with_language'
]
=
(
'lang_'
+
params
[
'language'
].
split
(
'-'
)[
0
])
return
params
...
...
searx/engines/subtitleseeker.py
View file @
2438b3c7
...
...
@@ -48,7 +48,7 @@ def response(resp):
search_lang
=
'Farsi'
elif
resp
.
search_params
[
'language'
]
==
'pt-BR'
:
search_lang
=
'Brazilian'
el
se
:
el
if
resp
.
search_params
[
'language'
]
!=
'all'
:
search_lang
=
[
lc
[
3
]
for
lc
in
language_codes
if
lc
[
0
].
split
(
'-'
)[
0
]
==
resp
.
search_params
[
'language'
].
split
(
'-'
)[
0
]]
...
...
searx/engines/swisscows.py
View file @
2438b3c7
...
...
@@ -36,6 +36,10 @@ regex_img_url_remove_start = re.compile(b'^https?://i\.swisscows\.ch/\?link=')
# do search-request
def
request
(
query
,
params
):
if
params
[
'language'
]
==
'all'
:
ui_language
=
'browser'
region
=
'browser'
else
:
region
=
match_language
(
params
[
'language'
],
supported_languages
,
language_aliases
)
ui_language
=
region
.
split
(
'-'
)[
0
]
...
...
searx/engines/twitter.py
View file @
2438b3c7
...
...
@@ -37,7 +37,12 @@ timestamp_xpath = './/span[contains(@class,"_timestamp")]'
# do search-request
def
request
(
query
,
params
):
params
[
'url'
]
=
search_url
+
urlencode
({
'q'
:
query
})
# set language if specified
if
params
[
'language'
]
!=
'all'
:
params
[
'cookies'
][
'lang'
]
=
params
[
'language'
].
split
(
'-'
)[
0
]
else
:
params
[
'cookies'
][
'lang'
]
=
'en'
return
params
...
...
searx/engines/wikidata.py
View file @
2438b3c7
...
...
@@ -68,6 +68,9 @@ def response(resp):
html
=
fromstring
(
resp
.
text
)
search_results
=
html
.
xpath
(
wikidata_ids_xpath
)
if
resp
.
search_params
[
'language'
].
split
(
'-'
)[
0
]
==
'all'
:
language
=
'en'
else
:
language
=
match_language
(
resp
.
search_params
[
'language'
],
supported_languages
,
language_aliases
).
split
(
'-'
)[
0
]
# TODO: make requests asynchronous to avoid timeout when result_count > 1
...
...
searx/engines/wikipedia.py
View file @
2438b3c7
...
...
@@ -31,6 +31,9 @@ supported_languages_url = 'https://meta.wikimedia.org/wiki/List_of_Wikipedias'
# set language in base_url
def
url_lang
(
lang
):
lang_pre
=
lang
.
split
(
'-'
)[
0
]
if
lang_pre
==
'all'
or
lang_pre
not
in
supported_languages
and
lang_pre
not
in
language_aliases
:
return
'en'
return
match_language
(
lang
,
supported_languages
,
language_aliases
).
split
(
'-'
)[
0
]
...
...
searx/engines/yacy.py
View file @
2438b3c7
...
...
@@ -51,6 +51,8 @@ def request(query, params):
limit
=
number_of_results
,
search_type
=
search_type
)
# add language tag if specified
if
params
[
'language'
]
!=
'all'
:
params
[
'url'
]
+=
'&lr=lang_'
+
params
[
'language'
].
split
(
'-'
)[
0
]
return
params
...
...
Prev
1
2
3
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment