Browse Source

[mod] add more error handling to json engine

Adam Tauber 7 years ago
parent
commit
181f1c6305
1 changed files with 8 additions and 2 deletions
  1. 8 2
      searx/engines/json_engine.py

+ 8 - 2
searx/engines/json_engine.py

@@ -98,10 +98,16 @@ def response(resp):
     results = []
     results = []
     json = loads(resp.text)
     json = loads(resp.text)
     if results_query:
     if results_query:
-        for result in query(json, results_query)[0]:
+        rs = query(json, results_query)
+        if not len(rs):
+            return results
+        for result in rs[0]:
             url = query(result, url_query)[0]
             url = query(result, url_query)[0]
             title = query(result, title_query)[0]
             title = query(result, title_query)[0]
-            content = query(result, content_query)[0]
+            try:
+                content = query(result, content_query)[0]
+            except:
+                content = ""
             results.append({'url': url, 'title': title, 'content': content})
             results.append({'url': url, 'title': title, 'content': content})
     else:
     else:
         for url, title, content in zip(
         for url, title, content in zip(