Browse Source

Deserialize explicitly blank strings

Default behavior of urllib.parse_qs is to discard blank values, causing a preference of none to be deserialized as undefined, using the instance default rather than the selected preference.
fehho 2 years ago
parent
commit
7cab51f98f
1 changed files with 1 additions and 1 deletions
  1. 1 1
      searx/preferences.py

+ 1 - 1
searx/preferences.py

@@ -441,7 +441,7 @@ class Preferences:
         """parse (base64) preferences from request (``flask.request.form['preferences']``)"""
         bin_data = decompress(urlsafe_b64decode(input_data))
         dict_data = {}
-        for x, y in parse_qs(bin_data.decode('ascii')).items():
+        for x, y in parse_qs(bin_data.decode('ascii'), keep_blank_values=True).items():
             dict_data[x] = y[0]
         self.parse_dict(dict_data)