[mod] preferences.py: check language setting with a regex instead of match_language

This commit is contained in:
Alexandre Flament
2020-10-01 11:29:31 +02:00
parent fd5fe36984
commit 507896c115
4 changed files with 8 additions and 8 deletions

View File

@@ -10,7 +10,7 @@ from urllib.parse import parse_qs, urlencode
from searx import settings, autocomplete
from searx.languages import language_codes as languages
from searx.utils import match_language
from searx.webutils import VALID_LANGUAGE_CODE
COOKIE_MAX_AGE = 60 * 60 * 24 * 365 * 5 # 5 years
@@ -162,9 +162,7 @@ class SearchLanguageSetting(EnumStringSetting):
"""Available choices may change, so user's value may not be in choices anymore"""
def _validate_selection(self, selection):
if selection != "" and not match_language(
# pylint: disable=no-member
selection, self.choices, fallback=None):
if selection != '' and not VALID_LANGUAGE_CODE.match(selection):
raise ValidationException('Invalid language code: "{0}"'.format(selection))
def parse(self, data):
@@ -181,6 +179,7 @@ class SearchLanguageSetting(EnumStringSetting):
data = lang
else:
data = self.value
self._validate_selection(data)
self.value = data