on master help sign in
[mod] dynamically set language_support variable

The language_support variable is set to True by default, and set to False in only 5 engines. Except the documentation and the /config URL, this variable is not used. This commit remove the variable definition in the engines, and set value according to supported_languages length: False when the length is 0, True otherwise. Close #2485

commitca93a018444041f64c193b4e623b9d6d1150b042 authorAlexandre Flament <alex@al-f.net> dateSun 24 Jan 2021, 09:58 (6 years ago) parent9924444
32 files changed+3−33
docs/dev/engine_overview.rst−2 searx/engines/__init__.py+3−1 searx/engines/archlinux.py−1 searx/engines/bing.py−1 searx/engines/bing_images.py−1 searx/engines/bing_news.py−1 searx/engines/bing_videos.py−1 searx/engines/dailymotion.py−1 searx/engines/doku.py−1 searx/engines/duckduckgo.py−1 searx/engines/duckduckgo_images.py−1 searx/engines/duden.py−1 searx/engines/etools.py−1 searx/engines/genius.py−1 searx/engines/gentoo.py−1 searx/engines/gigablast.py−1 searx/engines/google.py−1 searx/engines/google_images.py−1 searx/engines/google_news.py−1 searx/engines/invidious.py−1 searx/engines/mediawiki.py−1 searx/engines/peertube.py−1 searx/engines/photon.py−1 searx/engines/qwant.py−1 searx/engines/sepiasearch.py−1 searx/engines/startpage.py−1 searx/engines/yacy.py−1 searx/engines/yahoo.py−1 searx/engines/yahoo_news.py−1 searx/engines/yandex.py−1 searx/engines/youtube_api.py−1 searx/engines/youtube_noapi.py−1
docs/dev/engine_overview.rst−2
@@ -42,7 +42,6 @@ argument type information
4242======================= =========== ========================================================
4343categories list pages, in which the engine is working
4444paging boolean support multible pages
45−language_support boolean support language choosing
4645time_range_support boolean support search time range
4746engine_type str ``online`` by default, other possibles values are
4847 ``offline``, ``online_dictionnary``, ``online_currency``
@@ -97,7 +96,6 @@ example code
9796 # engine dependent config
9897 categories = ['general']
9998 paging = True
100− language_support = True
10199
102100
103101making a request
searx/engines/__init__.py+3−1
@@ -44,7 +44,6 @@ babel_langs = [lang_parts[0] + '-' + lang_parts[-1] if len(lang_parts) > 1 else
4444engine_shortcuts = {}
4545engine_default_args = {'paging': False,
4646 'categories': ['general'],
47− 'language_support': True,
4847 'supported_languages': [],
4948 'safesearch': False,
5049 'timeout': settings['outgoing']['request_timeout'],
@@ -127,6 +126,9 @@ def load_engine(engine_data):
127126
128127 setattr(engine, 'language_aliases', language_aliases)
129128
129+ # language_support
130+ setattr(engine, 'language_support', len(getattr(engine, 'supported_languages', [])) > 0)
131+
130132 # assign language fetching method if auxiliary method exists
131133 if hasattr(engine, '_fetch_supported_languages'):
132134 setattr(engine, 'fetch_supported_languages',
searx/engines/archlinux.py−1
@@ -21,7 +21,6 @@ about = {
2121
2222# engine dependent config
2323categories = ['it']
24−language_support = True
2524paging = True
2625base_url = 'https://wiki.archlinux.org'
2726
searx/engines/bing.py−1
@@ -24,7 +24,6 @@ about = {
2424# engine dependent config
2525categories = ['general']
2626paging = True
27−language_support = True
2827supported_languages_url = 'https://www.bing.com/account/general'
2928language_aliases = {'zh-CN': 'zh-CHS', 'zh-TW': 'zh-CHT', 'zh-HK': 'zh-CHT'}
3029
searx/engines/bing_images.py−1
@@ -26,7 +26,6 @@ categories = ['images']
2626paging = True
2727safesearch = True
2828time_range_support = True
29−language_support = True
3029supported_languages_url = 'https://www.bing.com/account/general'
3130number_of_results = 28
3231
searx/engines/bing_news.py−1
@@ -25,7 +25,6 @@ about = {
2525# engine dependent config
2626categories = ['news']
2727paging = True
28−language_support = True
2928time_range_support = True
3029
3130# search-url
searx/engines/bing_videos.py−1
@@ -26,7 +26,6 @@ paging = True
2626safesearch = True
2727time_range_support = True
2828number_of_results = 28
29−language_support = True
3029
3130base_url = 'https://www.bing.com/'
3231search_string = 'videos/search'\
searx/engines/dailymotion.py−1
@@ -21,7 +21,6 @@ about = {
2121# engine dependent config
2222categories = ['videos']
2323paging = True
24−language_support = True
2524
2625# search-url
2726# see http://www.dailymotion.com/doc/api/obj-video.html
searx/engines/doku.py−1
@@ -20,7 +20,6 @@ about = {
2020# engine dependent config
2121categories = ['general'] # TODO , 'images', 'music', 'videos', 'files'
2222paging = False
23−language_support = False
2423number_of_results = 5
2524
2625# search-url
searx/engines/duckduckgo.py−1
@@ -20,7 +20,6 @@ about = {
2020# engine dependent config
2121categories = ['general']
2222paging = False
23−language_support = True
2423supported_languages_url = 'https://duckduckgo.com/util/u172.js'
2524time_range_support = True
2625
searx/engines/duckduckgo_images.py−1
@@ -26,7 +26,6 @@ about = {
2626# engine dependent config
2727categories = ['images']
2828paging = True
29−language_support = True
3029safesearch = True
3130
3231# search-url
searx/engines/duden.py−1
@@ -20,7 +20,6 @@ about = {
2020
2121categories = ['general']
2222paging = True
23−language_support = False
2423
2524# search-url
2625base_url = 'https://www.duden.de/'
searx/engines/etools.py−1
@@ -19,7 +19,6 @@ about = {
1919
2020categories = ['general']
2121paging = False
22−language_support = False
2322safesearch = True
2423
2524base_url = 'https://www.etools.ch'
searx/engines/genius.py−1
@@ -20,7 +20,6 @@ about = {
2020# engine dependent config
2121categories = ['music']
2222paging = True
23−language_support = False
2423page_size = 5
2524
2625url = 'https://genius.com/api/'
searx/engines/gentoo.py−1
@@ -19,7 +19,6 @@ about = {
1919
2020# engine dependent config
2121categories = ['it']
22−language_support = True
2322paging = True
2423base_url = 'https://wiki.gentoo.org'
2524
searx/engines/gigablast.py−1
@@ -24,7 +24,6 @@ about = {
2424categories = ['general']
2525# gigablast's pagination is totally damaged, don't use it
2626paging = False
27−language_support = True
2827safesearch = True
2928
3029# search-url
searx/engines/google.py−1
@@ -31,7 +31,6 @@ about = {
3131# engine dependent config
3232categories = ['general']
3333paging = True
34−language_support = True
3534time_range_support = True
3635safesearch = True
3736supported_languages_url = 'https://www.google.com/preferences?#languages'
searx/engines/google_images.py−1
@@ -56,7 +56,6 @@ about = {
5656# engine dependent config
5757categories = ['images']
5858paging = False
59−language_support = True
6059use_locale_domain = True
6160time_range_support = True
6261safesearch = True
searx/engines/google_news.py−1
@@ -68,7 +68,6 @@ time_range_dict = {
6868
6969categories = ['news']
7070paging = False
71−language_support = True
7271use_locale_domain = True
7372time_range_support = True
7473
searx/engines/invidious.py−1
@@ -21,7 +21,6 @@ about = {
2121# engine dependent config
2222categories = ["videos", "music"]
2323paging = True
24−language_support = True
2524time_range_support = True
2625
2726
searx/engines/mediawiki.py−1
@@ -19,7 +19,6 @@ about = {
1919
2020# engine dependent config
2121categories = ['general']
22−language_support = True
2322paging = True
2423number_of_results = 1
2524search_type = 'nearmatch' # possible values: title, text, nearmatch
searx/engines/peertube.py−1
@@ -21,7 +21,6 @@ about = {
2121# engine dependent config
2222categories = ["videos"]
2323paging = True
24−language_support = True
2524base_url = "https://peer.tube/"
2625supported_languages_url = base_url + "api/v1/videos/languages"
2726
searx/engines/photon.py−1
@@ -20,7 +20,6 @@ about = {
2020# engine dependent config
2121categories = ['map']
2222paging = False
23−language_support = True
2423number_of_results = 10
2524
2625# search-url
searx/engines/qwant.py−1
@@ -23,7 +23,6 @@ about = {
2323# engine dependent config
2424categories = []
2525paging = True
26−language_support = True
2726supported_languages_url = 'https://qwant.com/region'
2827
2928category_to_keyword = {'general': 'web',
searx/engines/sepiasearch.py−1
@@ -20,7 +20,6 @@ about = {
2020
2121categories = ['videos']
2222paging = True
23−language_support = True
2423time_range_support = True
2524safesearch = True
2625supported_languages = [
searx/engines/startpage.py−1
@@ -29,7 +29,6 @@ categories = ['general']
2929# storing of qid's between mulitble search-calls
3030
3131paging = True
32−language_support = True
3332supported_languages_url = 'https://www.startpage.com/do/settings'
3433
3534# search-url
searx/engines/yacy.py−1
@@ -24,7 +24,6 @@ about = {
2424# engine dependent config
2525categories = ['general', 'images'] # TODO , 'music', 'videos', 'files'
2626paging = True
27−language_support = True
2827number_of_results = 5
2928http_digest_auth_user = ""
3029http_digest_auth_pass = ""
searx/engines/yahoo.py−1
@@ -20,7 +20,6 @@ about = {
2020# engine dependent config
2121categories = ['general']
2222paging = True
23−language_support = True
2423time_range_support = True
2524
2625# search-url
searx/engines/yahoo_news.py−1
@@ -25,7 +25,6 @@ about = {
2525# engine dependent config
2626categories = ['news']
2727paging = True
28−language_support = True
2928
3029# search-url
3130search_url = 'https://news.search.yahoo.com/search?{query}&b={offset}&{lang}=uh3_news_web_gs_1&pz=10&xargs=0&vl=lang_{lang}' # noqa
searx/engines/yandex.py−1
@@ -23,7 +23,6 @@ about = {
2323# engine dependent config
2424categories = ['general']
2525paging = True
26−language_support = True # TODO
2726
2827default_tld = 'com'
2928language_map = {'ru': 'ru',
searx/engines/youtube_api.py−1
@@ -21,7 +21,6 @@ about = {
2121# engine dependent config
2222categories = ['videos', 'music']
2323paging = False
24−language_support = True
2524api_key = None
2625
2726# search-url
searx/engines/youtube_noapi.py−1
@@ -20,7 +20,6 @@ about = {
2020# engine dependent config
2121categories = ['videos', 'music']
2222paging = True
23−language_support = False
2423time_range_support = True
2524
2625# search-url