summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarit.de>2021-07-15 20:10:37 +0200
committerMarkus Heiser <markus.heiser@darmarit.de>2021-07-15 20:10:37 +0200
commit628b5703f3aeeed117772696f83efb344d6f337e (patch)
treefacac15f5e78ac6cca401b01b88f5537dc193352
parentf376b4ed3e8527958abb891f0cd0e78128da3802 (diff)
[mod] improve video results of the qwant engine
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
-rw-r--r--searx/engines/qwant.py23
1 files changed, 21 insertions, 2 deletions
diff --git a/searx/engines/qwant.py b/searx/engines/qwant.py
index 00ecf7e83..00b30f4dc 100644
--- a/searx/engines/qwant.py
+++ b/searx/engines/qwant.py
@@ -29,6 +29,7 @@ from datetime import (
)
from json import loads
from urllib.parse import urlencode
+from flask_babel import gettext
# from searx import logger
from searx.utils import match_language
@@ -100,6 +101,7 @@ def request(query, params):
def response(resp):
"""Get response from Qwant's search request"""
+ # pylint: disable=too-many-locals, too-many-branches, too-many-statements
keyword = category_to_keyword[categories[0]]
results = []
@@ -180,11 +182,28 @@ def response(resp):
})
elif mainline_type == 'videos':
- content = item['desc']
+ # some videos do not have a description: while quant-video
+ # returns an empty string, such video from a quant-web query
+ # miss the 'desc' key.
+ content = item.get('desc', '')
+ s, c = item.get('source',''), item.get('channel','')
+ if content and (s or c):
+ content += " // "
+ if s:
+ content += "%s: %s " % (gettext("Source"), s)
+ if c:
+ content += "//"
+ if c:
+ content += " %s: %s " % (gettext("Channel"), c)
length = timedelta(seconds=item['duration'])
pub_date = datetime.fromtimestamp(item['date'])
thumbnail = item['thumbnail']
-
+ # from some locations (DE and others?) the s2 link do
+ # response a 'Please wait ..' but does not deliver the thumbnail
+ thumbnail = thumbnail.replace(
+ 'https://s2.qwant.com',
+ 'https://s1.qwant.com', 1
+ )
results.append({
'title': title,
'url': res_url,