浏览代码

[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
             elif user_setting_name == 'disabled_plugins':
305
             elif user_setting_name == 'disabled_plugins':
306
                 self.plugins.parse_cookie((input_data.get('disabled_plugins', ''),
306
                 self.plugins.parse_cookie((input_data.get('disabled_plugins', ''),
307
                                            input_data.get('enabled_plugins', '')))
307
                                            input_data.get('enabled_plugins', '')))
308
+            else:
309
+                self.unknown_params[user_setting_name] = user_setting
308
 
310
 
309
     def parse_form(self, input_data):
311
     def parse_form(self, input_data):
310
         disabled_engines = []
312
         disabled_engines = []
329
     def get_value(self, user_setting_name):
331
     def get_value(self, user_setting_name):
330
         if user_setting_name in self.key_value_settings:
332
         if user_setting_name in self.key_value_settings:
331
             return self.key_value_settings[user_setting_name].get_value()
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
     def save(self, resp):
337
     def save(self, resp):
334
         for user_setting_name, user_setting in self.key_value_settings.items():
338
         for user_setting_name, user_setting in self.key_value_settings.items():

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

13
     <title>{% block title %}{% endblock %}{{ instance_name }}</title>
13
     <title>{% block title %}{% endblock %}{{ instance_name }}</title>
14
 
14
 
15
     <link rel="stylesheet" href="{{ url_for('static', filename='css/bootstrap.min.css') }}" type="text/css" />
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
     {% else %}
18
     {% else %}
19
         <link rel="stylesheet" href="{{ url_for('static', filename='css/logicodev.min.css') }}" type="text/css" />
19
         <link rel="stylesheet" href="{{ url_for('static', filename='css/logicodev.min.css') }}" type="text/css" />
20
     {% endif %}
20
     {% endif %}

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

106
                     {{ preferences_item_header(_('Choose style for this theme'), _('Style'), rtl) }}
106
                     {{ preferences_item_header(_('Choose style for this theme'), _('Style'), rtl) }}
107
                         <select class="form-control" name='oscar-style'>
107
                         <select class="form-control" name='oscar-style'>
108
                             <option value="logicodev" >Logicodev</option>
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
                         </select>
111
                         </select>
112
                     {{ preferences_item_footer(_('Choose style for this theme'), _('Style'), rtl) }}
112
                     {{ preferences_item_footer(_('Choose style for this theme'), _('Style'), rtl) }}
113
 
113
 

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

376
 
376
 
377
     kwargs['unicode'] = unicode
377
     kwargs['unicode'] = unicode
378
 
378
 
379
+    kwargs['preferences'] = request.preferences
380
+
379
     kwargs['scripts'] = set()
381
     kwargs['scripts'] = set()
380
     for plugin in request.user_plugins:
382
     for plugin in request.user_plugins:
381
         for script in plugin.js_dependencies:
383
         for script in plugin.js_dependencies: