Loading searx/engines/json_engine.py +11 −2 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ from collections import Iterable from json import loads from sys import version_info from searx.url_utils import urlencode from searx.utils import to_string if version_info[0] == 3: unicode = str Loading Loading @@ -111,14 +112,22 @@ def response(resp): content = query(result, content_query)[0] except: content = "" results.append({'url': url, 'title': title, 'content': content}) results.append({ 'url': to_string(url), 'title': to_string(title), 'content': to_string(content), }) else: for url, title, content in zip( query(json, url_query), query(json, title_query), query(json, content_query) ): results.append({'url': url, 'title': title, 'content': content}) results.append({ 'url': to_string(url), 'title': to_string(title), 'content': to_string(content), }) if not suggestion_query: return results Loading searx/utils.py +12 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ import re from babel.dates import format_date from codecs import getincrementalencoder from imp import load_source from numbers import Number from os.path import splitext, join from random import choice import sys Loading Loading @@ -336,3 +337,14 @@ def new_hmac(secret_key, url): return hmac.new(bytes(secret_key), url, hashlib.sha256).hexdigest() else: return hmac.new(bytes(secret_key, 'utf-8'), url, hashlib.sha256).hexdigest() def to_string(obj): if isinstance(obj, basestring): return obj if isinstance(obj, Number): return unicode(obj) if hasattr(obj, '__str__'): return obj.__str__() if hasattr(obj, '__repr__'): return obj.__repr__() Loading
searx/engines/json_engine.py +11 −2 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ from collections import Iterable from json import loads from sys import version_info from searx.url_utils import urlencode from searx.utils import to_string if version_info[0] == 3: unicode = str Loading Loading @@ -111,14 +112,22 @@ def response(resp): content = query(result, content_query)[0] except: content = "" results.append({'url': url, 'title': title, 'content': content}) results.append({ 'url': to_string(url), 'title': to_string(title), 'content': to_string(content), }) else: for url, title, content in zip( query(json, url_query), query(json, title_query), query(json, content_query) ): results.append({'url': url, 'title': title, 'content': content}) results.append({ 'url': to_string(url), 'title': to_string(title), 'content': to_string(content), }) if not suggestion_query: return results Loading
searx/utils.py +12 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ import re from babel.dates import format_date from codecs import getincrementalencoder from imp import load_source from numbers import Number from os.path import splitext, join from random import choice import sys Loading Loading @@ -336,3 +337,14 @@ def new_hmac(secret_key, url): return hmac.new(bytes(secret_key), url, hashlib.sha256).hexdigest() else: return hmac.new(bytes(secret_key, 'utf-8'), url, hashlib.sha256).hexdigest() def to_string(obj): if isinstance(obj, basestring): return obj if isinstance(obj, Number): return unicode(obj) if hasattr(obj, '__str__'): return obj.__str__() if hasattr(obj, '__repr__'): return obj.__repr__()