mirror of
https://github.com/searxng/searxng.git
synced 2025-07-24 21:59:22 +02:00
new preferences handling
Preferences class was introduced in order to handle user preferences. Right now it parses cookies and the form in preferences. Also it can retrieve settings based on the name of the setting. ATTENTION Please note that engine preferences are handled differently from now on. So it introduces incompatible changes. Every user who has saved preferences should reset and save his/her settings again. This change was needed, because everytime a default disabled engine was added saved user preferences would broke. Now engine setting tracking is fixed.
This commit is contained in:
parent
9331fc28a8
commit
fe691a0988
6 changed files with 315 additions and 167 deletions
|
@ -23,7 +23,7 @@ from searx.engines import (
|
|||
categories, engines
|
||||
)
|
||||
from searx.languages import language_codes
|
||||
from searx.utils import gen_useragent, get_blocked_engines
|
||||
from searx.utils import gen_useragent
|
||||
from searx.query import Query
|
||||
from searx.results import ResultContainer
|
||||
from searx import logger
|
||||
|
@ -140,15 +140,13 @@ class Search(object):
|
|||
self.lang = 'all'
|
||||
|
||||
# set blocked engines
|
||||
self.blocked_engines = get_blocked_engines(engines, request.cookies)
|
||||
self.blocked_engines = request.preferences.engines.get_disabled()
|
||||
|
||||
self.result_container = ResultContainer()
|
||||
self.request_data = {}
|
||||
|
||||
# set specific language if set
|
||||
if request.cookies.get('language')\
|
||||
and request.cookies['language'] in (x[0] for x in language_codes):
|
||||
self.lang = request.cookies['language']
|
||||
self.lang = request.preferences.get_value('language')
|
||||
|
||||
# set request method
|
||||
if request.method == 'POST':
|
||||
|
@ -294,11 +292,8 @@ class Search(object):
|
|||
else:
|
||||
request_params['language'] = self.lang
|
||||
|
||||
try:
|
||||
# 0 = None, 1 = Moderate, 2 = Strict
|
||||
request_params['safesearch'] = int(request.cookies.get('safesearch'))
|
||||
except Exception:
|
||||
request_params['safesearch'] = settings['search']['safe_search']
|
||||
# 0 = None, 1 = Moderate, 2 = Strict
|
||||
request_params['safesearch'] = request.preferences.get_value('safesearch')
|
||||
|
||||
# update request parameters dependent on
|
||||
# search-engine (contained in engines folder)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue