Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit e2cd9b65 authored by Alexandre Flament's avatar Alexandre Flament Committed by GitHub
Browse files

Merge pull request #2239 from dalf/mod-preferences

[mod] preferences.py: check language setting with a regex instead of match_language
parents 53c8d945 507896c1
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -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


+1 −3
Original line number Diff line number Diff line
@@ -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:
+2 −1
Original line number Diff line number Diff line
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
+2 −0
Original line number Diff line number Diff line
@@ -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')