commit: e060aedc16bb2b9e5c1ee3fc69a0e07a3576a80c
parent: 46fb0d860e35a45658969c4e2ac306a1072bc331
Author: Adam Tauber <asciimoo@gmail.com>
Date: Tue, 5 Dec 2017 22:30:20 +0100
[enh] make custom oscar option configurable from url
Diffstat:
4 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/searx/preferences.py b/searx/preferences.py
@@ -305,6 +305,8 @@ class Preferences(object):
elif user_setting_name == 'disabled_plugins':
self.plugins.parse_cookie((input_data.get('disabled_plugins', ''),
input_data.get('enabled_plugins', '')))
+ else:
+ self.unknown_params[user_setting_name] = user_setting
def parse_form(self, input_data):
disabled_engines = []
@@ -329,6 +331,8 @@ class Preferences(object):
def get_value(self, user_setting_name):
if user_setting_name in self.key_value_settings:
return self.key_value_settings[user_setting_name].get_value()
+ if user_setting_name in self.unknown_params:
+ return self.unknown_params[user_setting_name]
def save(self, resp):
for user_setting_name, user_setting in self.key_value_settings.items():
diff --git a/searx/templates/oscar/base.html b/searx/templates/oscar/base.html
@@ -13,8 +13,8 @@
<title>{% block title %}{% endblock %}{{ instance_name }}</title>
<link rel="stylesheet" href="{{ url_for('static', filename='css/bootstrap.min.css') }}" type="text/css" />
- {% if cookies['oscar-style'] %}
- <link rel="stylesheet" href="{{ url_for('static', filename='css/'+cookies['oscar-style']+'.min.css') }}" type="text/css" />
+ {% if preferences.get_value('oscar-style') %}
+ <link rel="stylesheet" href="{{ url_for('static', filename='css/'+preferences.get_value('oscar-style')+'.min.css') }}" type="text/css" />
{% else %}
<link rel="stylesheet" href="{{ url_for('static', filename='css/logicodev.min.css') }}" type="text/css" />
{% endif %}
diff --git a/searx/templates/oscar/preferences.html b/searx/templates/oscar/preferences.html
@@ -106,8 +106,8 @@
{{ preferences_item_header(_('Choose style for this theme'), _('Style'), rtl) }}
<select class="form-control" name='oscar-style'>
<option value="logicodev" >Logicodev</option>
- <option value="pointhi" {% if cookies['oscar-style'] == 'pointhi' %}selected="selected"{% endif %}>Pointhi</option>
- <option value="logicodev-dark" {% if cookies['oscar-style'] == 'logicodev-dark' %}selected="selected"{% endif %}>Logicodev dark</option>
+ <option value="pointhi" {% if preferences.get_value('oscar-style') == 'pointhi' %}selected="selected"{% endif %}>Pointhi</option>
+ <option value="logicodev-dark" {% if preferences.get_value('oscar-style') == 'logicodev-dark' %}selected="selected"{% endif %}>Logicodev dark</option>
</select>
{{ preferences_item_footer(_('Choose style for this theme'), _('Style'), rtl) }}
diff --git a/searx/webapp.py b/searx/webapp.py
@@ -376,6 +376,8 @@ def render(template_name, override_theme=None, **kwargs):
kwargs['unicode'] = unicode
+ kwargs['preferences'] = request.preferences
+
kwargs['scripts'] = set()
for plugin in request.user_plugins:
for script in plugin.js_dependencies: