Merge pull request #206 from return42/improve-qwant

[mod] improve video results of the qwant engine
This commit is contained in:
Alexandre Flament 2021-07-16 15:33:56 +02:00 committed by GitHub
commit 8237cb557e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -29,13 +29,12 @@ from datetime import (
) )
from json import loads from json import loads
from urllib.parse import urlencode from urllib.parse import urlencode
from flask_babel import gettext
# from searx import logger
from searx.utils import match_language from searx.utils import match_language
from searx.exceptions import SearxEngineAPIException from searx.exceptions import SearxEngineAPIException
from searx.network import raise_for_httperror from searx.network import raise_for_httperror
#logger = logger.getChild('qwant')
# about # about
about = { about = {
@ -100,6 +99,7 @@ def request(query, params):
def response(resp): def response(resp):
"""Get response from Qwant's search request""" """Get response from Qwant's search request"""
# pylint: disable=too-many-locals, too-many-branches, too-many-statements
keyword = category_to_keyword[categories[0]] keyword = category_to_keyword[categories[0]]
results = [] results = []
@ -180,11 +180,27 @@ def response(resp):
}) })
elif mainline_type == 'videos': elif mainline_type == 'videos':
content = item['desc'] # some videos do not have a description: while qwant-video
# returns an empty string, such video from a qwant-web query
# miss the 'desc' key.
d, s, c = item.get('desc'), item.get('source'), item.get('channel')
content_parts = []
if d:
content_parts.append(d)
if s:
content_parts.append("%s: %s " % (gettext("Source"), s))
if c:
content_parts.append("%s: %s " % (gettext("Channel"), c))
content = ' // '.join(content_parts)
length = timedelta(seconds=item['duration']) length = timedelta(seconds=item['duration'])
pub_date = datetime.fromtimestamp(item['date']) pub_date = datetime.fromtimestamp(item['date'])
thumbnail = item['thumbnail'] 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({ results.append({
'title': title, 'title': title,
'url': res_url, 'url': res_url,