mirror of
https://github.com/searxng/searxng.git
synced 2025-07-23 05:09:17 +02:00
[enh] engine customisation init
This commit is contained in:
parent
b8d836e445
commit
c0013edcdd
5 changed files with 63 additions and 49 deletions
|
@ -242,17 +242,6 @@ def about():
|
|||
return render('about.html')
|
||||
|
||||
|
||||
@app.route('/engines', methods=['GET'])
|
||||
def list_engines():
|
||||
"""Render engines page.
|
||||
|
||||
List of all supported engines.
|
||||
"""
|
||||
return render('engines.html',
|
||||
categs=categories.items(),
|
||||
shortcuts={y: x for x, y in engine_shortcuts.items()})
|
||||
|
||||
|
||||
@app.route('/preferences', methods=['GET', 'POST'])
|
||||
def preferences():
|
||||
"""Render preferences page.
|
||||
|
@ -264,7 +253,11 @@ def preferences():
|
|||
and request.cookies['language'] in (x[0] for x in language_codes):
|
||||
lang = request.cookies['language']
|
||||
|
||||
if request.method == 'POST':
|
||||
blocked_engines = []
|
||||
|
||||
if request.method == 'GET':
|
||||
blocked_engines = request.cookies.get('blocked_engines', '').split(',')
|
||||
else:
|
||||
selected_categories = []
|
||||
locale = None
|
||||
for pd_name, pd in request.form.items():
|
||||
|
@ -278,10 +271,24 @@ def preferences():
|
|||
elif pd_name == 'language' and (pd == 'all' or
|
||||
pd in (x[0] for
|
||||
x in language_codes)):
|
||||
locale = pd
|
||||
lang = pd
|
||||
elif pd_name.startswith('engine_'):
|
||||
engine_name = pd_name.replace('engine_', '', 1)
|
||||
if engine_name in engines:
|
||||
blocked_engines.append(engine_name)
|
||||
|
||||
resp = make_response(redirect('/'))
|
||||
|
||||
user_blocked_engines = request.cookies.get('blocked_engines', '').split(',') # noqa
|
||||
|
||||
if sorted(blocked_engines) != sorted(user_blocked_engines):
|
||||
# cookie max age: 4 weeks
|
||||
resp.set_cookie(
|
||||
'blocked_engines', ','.join(blocked_engines),
|
||||
max_age=60 * 60 * 24 * 7 * 4
|
||||
)
|
||||
|
||||
if locale:
|
||||
# cookie max age: 4 weeks
|
||||
resp.set_cookie(
|
||||
|
@ -307,7 +314,10 @@ def preferences():
|
|||
locales=settings['locales'],
|
||||
current_locale=get_locale(),
|
||||
current_language=lang or 'all',
|
||||
language_codes=language_codes)
|
||||
language_codes=language_codes,
|
||||
categs=categories.items(),
|
||||
blocked_engines=blocked_engines,
|
||||
shortcuts={y: x for x, y in engine_shortcuts.items()})
|
||||
|
||||
|
||||
@app.route('/stats', methods=['GET'])
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue