Browse Source

Merge pull request #1664 from return42/harden-get_engine_locales

[fix] harden get_engine_locale: handle UnknownLocaleError exceptions
Markus Heiser 2 years ago
parent
commit
649d1a144d
1 changed files with 7 additions and 1 deletions
  1. 7 1
      searx/locales.py

+ 7 - 1
searx/locales.py

@@ -213,7 +213,13 @@ def get_engine_locale(searxng_locale, engine_locales, default=None):
         # need to narrow language nor territory.
         return engine_locale
 
-    locale = babel.Locale.parse(searxng_locale, sep='-')
+    try:
+        locale = babel.Locale.parse(searxng_locale, sep='-')
+    except babel.core.UnknownLocaleError:
+        try:
+            locale = babel.Locale.parse(searxng_locale.split('-')[1])
+        except babel.core.UnknownLocaleError:
+            return default
 
     # SearXNG's selected locale is not supported by the engine ..