forked from zaclys/searxng
[mod] preferences.py: check language setting with a regex instead of match_language
This commit is contained in:
parent
fd5fe36984
commit
507896c115
@ -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
|
||||
|
||||
|
||||
|
@ -22,9 +22,7 @@ import re
|
||||
from searx.languages import language_codes
|
||||
from searx.engines import categories, engines, engine_shortcuts
|
||||
from searx.search import EngineRef
|
||||
|
||||
|
||||
VALID_LANGUAGE_CODE = re.compile(r'^[a-z]{2,3}(-[a-zA-Z]{2})?$')
|
||||
from searx.webutils import VALID_LANGUAGE_CODE
|
||||
|
||||
|
||||
class RawTextQuery:
|
||||
|
@ -1,6 +1,7 @@
|
||||
from typing import Dict, List, Optional, Tuple
|
||||
from searx.exceptions import SearxParameterException
|
||||
from searx.query import RawTextQuery, VALID_LANGUAGE_CODE
|
||||
from searx.webutils import VALID_LANGUAGE_CODE
|
||||
from searx.query import RawTextQuery
|
||||
from searx.engines import categories, engines
|
||||
from searx.search import SearchQuery, EngineRef
|
||||
from searx.preferences import Preferences
|
||||
|
@ -11,6 +11,8 @@ from codecs import getincrementalencoder
|
||||
from searx import logger
|
||||
|
||||
|
||||
VALID_LANGUAGE_CODE = re.compile(r'^[a-z]{2,3}(-[a-zA-Z]{2})?$')
|
||||
|
||||
logger = logger.getChild('webutils')
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user