Browse Source

[fix] engine piped: 'invalid content'

SearXNG does not allow a None value in the content field of a result item.

If the key (shortDescription, uploaderName) in the JSON response from piped
exists but is set to None, SearXNG ignores this result item::

  DEBUG   searx    : result: invalid content: { ..,  'content': None,  ..}

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Markus Heiser 1 year ago
parent
commit
203f1f0928
1 changed files with 3 additions and 2 deletions
  1. 3 2
      searx/engines/piped.py

+ 3 - 2
searx/engines/piped.py

@@ -142,13 +142,14 @@ def response(resp):
 
         if piped_filter == 'videos':
             item["template"] = "videos.html"
-            item["content"] = result.get("shortDescription", "")
+            # if the value of shortDescription set, but is None, return empty string
+            item["content"] = result.get("shortDescription", "") or ""
             item["thumbnail"] = result.get("thumbnail", "")
 
         elif piped_filter == 'music_songs':
             item["template"] = "default.html"
             item["img_src"] = result.get("thumbnail", "")
-            item["content"] = result.get("uploaderName", "")
+            item["content"] = result.get("uploaderName", "") or ""
             length = result.get("duration")
             if length:
                 item["length"] = datetime.timedelta(seconds=length)