forked from Archives/searxng
Merge pull request #206 from return42/improve-qwant
[mod] improve video results of the qwant engine
This commit is contained in:
commit
8237cb557e
@ -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,
|
||||||
|
Loading…
Reference in New Issue
Block a user