searxng/searx
Markus Heiser ef81d14ccf [fix] harden get_engine_locale: handle UnknownLocaleError exceptions
When a user selects an unknown or invalid locale by using the search syntax:

    !qw siemens :de-TW

Before this patch a UnknownLocaleError exception will be rasied:

```
Traceback (most recent call last):
  File "SearXNG/searx/search/processors/online.py", line 154, in search
    search_results = self._search_basic(query, params)
  File "SearXNG/searx/search/processors/online.py", line 128, in _search_basic
    self.engine.request(query, params)
  File "SearXNG/searx/engines/qwant.py", line 98, in request
    q_locale = get_engine_locale(params['language'], supported_languages, default='en_US')
  File "SearXNG/searx/locales.py", line 216, in get_engine_locale
    locale = babel.Locale.parse(searxng_locale, sep='-')
  File "SearXNG/local/py3/lib/python3.8/site-packages/babel/core.py", line 330, in parse
    raise UnknownLocaleError(input_id)
```

This patch implements a simple exception handling, since e.g. `de-TW` does not
exists `de` will be used to get engines locale.  On invalid terms like `xy-XY`
the default will be returned.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-08-14 13:55:42 +02:00
..
answerers
data [fix] qwant - API error::locale must be one .. 2022-08-14 10:36:14 +02:00
engines [mod] qwant - add safesearch option 2022-08-14 10:36:14 +02:00
infopage
metrics
network bing.py: resolve bing.com/ck/a redirections 2022-07-08 22:02:21 +02:00
plugins [mod] add tor_check plugin - convenient tor checking trough searxng 2022-07-19 07:34:54 +02:00
search [mod] add 'Accept-Language' HTTP header to online processores 2022-08-01 17:01:59 +02:00
shared [fix] typo in uWSGI cache: searxcache --> searxngcache 2022-08-07 12:31:09 +02:00
static
templates/simple [fix] improve OpenSearch description 2022-08-11 19:04:36 +02:00
translations [translations] update from Weblate 2022-08-12 07:18:14 +00:00
__init__.py
autocomplete.py
babel_extract.py
compat.py [fix] pyright repported errors 2022-07-30 18:04:44 +02:00
exceptions.py
external_bang.py
external_urls.py
flaskfix.py
languages.py
locales.py [fix] harden get_engine_locale: handle UnknownLocaleError exceptions 2022-08-14 13:55:42 +02:00
preferences.py
query.py
redislib.py
results.py
searxng.msg
settings.yml [mod] decouple qwant's categories from SearXNG's categories 2022-08-14 10:26:54 +02:00
settings_defaults.py
settings_loader.py
unixthreadname.py
utils.py [fix] pyright repported errors 2022-07-30 18:04:44 +02:00
version.py [fix] pyright repported errors 2022-07-30 18:04:44 +02:00
webadapter.py
webapp.py [fix] improve OpenSearch description 2022-08-11 19:04:36 +02:00
webutils.py