From 237d251d14e50d937805fcf030c4fbdb9d3918c9 Mon Sep 17 00:00:00 2001 From: Adam Tauber Date: Sun, 26 Jun 2016 01:44:42 +0200 Subject: [PATCH] [fix] save unknown preferences parameters to cookies Without this courgette color selector can not work --- searx/preferences.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/searx/preferences.py b/searx/preferences.py index a87cd502..dd9133dd 100644 --- a/searx/preferences.py +++ b/searx/preferences.py @@ -229,6 +229,7 @@ class Preferences(object): self.engines = EnginesSetting('engines', choices=engines) self.plugins = PluginsSetting('plugins', choices=plugins) + self.unknown_params = {} def parse_cookies(self, input_data): for user_setting_name, user_setting in input_data.iteritems(): @@ -254,6 +255,8 @@ class Preferences(object): enabled_categories.append(user_setting_name[len('category_'):]) elif user_setting_name.startswith('plugin_'): disabled_plugins.append(user_setting_name) + else: + self.unknown_params[user_setting_name] = user_setting self.key_value_settings['categories'].parse_form(enabled_categories) self.engines.parse_form(disabled_engines) self.plugins.parse_form(disabled_plugins) @@ -268,4 +271,6 @@ class Preferences(object): user_setting.save(user_setting_name, resp) self.engines.save(resp) self.plugins.save(resp) + for k, v in self.unknown_params.items(): + resp.set_cookie(k, v, max_age=COOKIE_MAX_AGE) return resp