summaryrefslogtreecommitdiff
path: root/searx/preferences.py
diff options
context:
space:
mode:
Diffstat (limited to 'searx/preferences.py')
-rw-r--r--searx/preferences.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/searx/preferences.py b/searx/preferences.py
index 46ce53ab3..e4a2ebecd 100644
--- a/searx/preferences.py
+++ b/searx/preferences.py
@@ -179,7 +179,7 @@ class SearchLanguageSetting(EnumStringSetting):
if data not in self.choices and data != self.value: # pylint: disable=no-member
# hack to give some backwards compatibility with old language cookies
data = str(data).replace('_', '-')
- lang = data.split('-')[0]
+ lang = data.split('-', maxsplit=1)[0]
# pylint: disable=no-member
if data in self.choices:
pass
@@ -437,10 +437,10 @@ class Preferences:
def parse_encoded_data(self, input_data):
"""parse (base64) preferences from request (``flask.request.form['preferences']``)"""
- decoded_data = decompress(urlsafe_b64decode(input_data.encode()))
+ bin_data = decompress(urlsafe_b64decode(input_data))
dict_data = {}
- for x, y in parse_qs(decoded_data).items():
- dict_data[x.decode()] = y[0].decode()
+ for x, y in parse_qs(bin_data.decode('ascii')).items():
+ dict_data[x] = y[0]
self.parse_dict(dict_data)
def parse_dict(self, input_data):
@@ -503,6 +503,7 @@ class Preferences:
"""Save cookie in the HTTP reponse obect
"""
for user_setting_name, user_setting in self.key_value_settings.items():
+ # pylint: disable=unnecessary-dict-index-lookup
if self.key_value_settings[user_setting_name].locked:
continue
user_setting.save(user_setting_name, resp)