on master help sign in
[fix] youtube_noapi engine: fix the title
commit0c032c84291954da206e8084553d91add240afd2 authorDalf <alex@al-f.net> dateWed 31 Jul 2019, 08:39 (7 years ago) parent8b7ac56
1 file changed+9−6
searx/engines/youtube_noapi.py+9−6
searx/engines/youtube_noapi.py+9−6
@@ -67,12 +67,8 @@ def response(resp):
6767 if videoid is not None:
6868 url = base_youtube_url + videoid
6969 thumbnail = 'https://i.ytimg.com/vi/' + videoid + '/hqdefault.jpg'
70− title = video.get('title', {}).get('simpleText', videoid)
71− description_snippet = video.get('descriptionSnippet', {})
72− if 'runs' in description_snippet:
73− content = reduce(lambda a, b: a + b.get('text', ''), description_snippet.get('runs'), '')
74− else:
75− content = description_snippet.get('simpleText', '')
70+ title = get_text_from_json(video.get('title', {}))
71+ content = get_text_from_json(video.get('descriptionSnippet', {}))
7672 embedded = embedded_url.format(videoid=videoid)
7773
7874 # append result
@@ -85,3 +81,10 @@ def response(resp):
8581
8682 # return results
8783 return results
84+
85+
86+def get_text_from_json(element):
87+ if 'runs' in element:
88+ return reduce(lambda a, b: a + b.get('text', ''), element.get('runs'), '')
89+ else:
90+ return element.get('simpleText', '')