浏览代码

[enh] make custom oscar option configurable from url

Adam Tauber 7 年前
父节点
当前提交
e060aedc16
共有 4 个文件被更改,包括 10 次插入4 次删除
  1. 4
    0
      searx/preferences.py
  2. 2
    2
      searx/templates/oscar/base.html
  3. 2
    2
      searx/templates/oscar/preferences.html
  4. 2
    0
      searx/webapp.py

+ 4
- 0
searx/preferences.py 查看文件

@@ -305,6 +305,8 @@ class Preferences(object):
305 305
             elif user_setting_name == 'disabled_plugins':
306 306
                 self.plugins.parse_cookie((input_data.get('disabled_plugins', ''),
307 307
                                            input_data.get('enabled_plugins', '')))
308
+            else:
309
+                self.unknown_params[user_setting_name] = user_setting
308 310
 
309 311
     def parse_form(self, input_data):
310 312
         disabled_engines = []
@@ -329,6 +331,8 @@ class Preferences(object):
329 331
     def get_value(self, user_setting_name):
330 332
         if user_setting_name in self.key_value_settings:
331 333
             return self.key_value_settings[user_setting_name].get_value()
334
+        if user_setting_name in self.unknown_params:
335
+            return self.unknown_params[user_setting_name]
332 336
 
333 337
     def save(self, resp):
334 338
         for user_setting_name, user_setting in self.key_value_settings.items():

+ 2
- 2
searx/templates/oscar/base.html 查看文件

@@ -13,8 +13,8 @@
13 13
     <title>{% block title %}{% endblock %}{{ instance_name }}</title>
14 14
 
15 15
     <link rel="stylesheet" href="{{ url_for('static', filename='css/bootstrap.min.css') }}" type="text/css" />
16
-    {% if cookies['oscar-style'] %}
17
-        <link rel="stylesheet" href="{{ url_for('static', filename='css/'+cookies['oscar-style']+'.min.css') }}" type="text/css" />
16
+    {% if preferences.get_value('oscar-style') %}
17
+        <link rel="stylesheet" href="{{ url_for('static', filename='css/'+preferences.get_value('oscar-style')+'.min.css') }}" type="text/css" />
18 18
     {% else %}
19 19
         <link rel="stylesheet" href="{{ url_for('static', filename='css/logicodev.min.css') }}" type="text/css" />
20 20
     {% endif %}

+ 2
- 2
searx/templates/oscar/preferences.html 查看文件

@@ -106,8 +106,8 @@
106 106
                     {{ preferences_item_header(_('Choose style for this theme'), _('Style'), rtl) }}
107 107
                         <select class="form-control" name='oscar-style'>
108 108
                             <option value="logicodev" >Logicodev</option>
109
-                            <option value="pointhi" {% if cookies['oscar-style'] == 'pointhi' %}selected="selected"{% endif %}>Pointhi</option>
110
-                            <option value="logicodev-dark" {% if cookies['oscar-style'] == 'logicodev-dark' %}selected="selected"{% endif %}>Logicodev dark</option>
109
+                            <option value="pointhi" {% if preferences.get_value('oscar-style') == 'pointhi' %}selected="selected"{% endif %}>Pointhi</option>
110
+                            <option value="logicodev-dark" {% if preferences.get_value('oscar-style') == 'logicodev-dark' %}selected="selected"{% endif %}>Logicodev dark</option>
111 111
                         </select>
112 112
                     {{ preferences_item_footer(_('Choose style for this theme'), _('Style'), rtl) }}
113 113
 

+ 2
- 0
searx/webapp.py 查看文件

@@ -376,6 +376,8 @@ def render(template_name, override_theme=None, **kwargs):
376 376
 
377 377
     kwargs['unicode'] = unicode
378 378
 
379
+    kwargs['preferences'] = request.preferences
380
+
379 381
     kwargs['scripts'] = set()
380 382
     for plugin in request.user_plugins:
381 383
         for script in plugin.js_dependencies: