forked from zaclys/searxng
		
	Merge pull request #2239 from dalf/mod-preferences
[mod] preferences.py: check language setting with a regex instead of match_language
This commit is contained in:
		
						commit
						e2cd9b65bb
					
				
					 4 changed files with 8 additions and 8 deletions
				
			
		| 
						 | 
				
			
			@ -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…
	
	Add table
		
		Reference in a new issue