diff --git a/searx/engines/qwant.py b/searx/engines/qwant.py index 00ecf7e8..00b30f4d 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,