Fix python2 compatibility and title extraction

This commit is contained in:
xarantolus 2020-07-31 10:05:11 +02:00
parent f536080701
commit 299056ad52

View file

@ -3325,7 +3325,7 @@ class YoutubeFeedsInfoExtractor(YoutubeBaseInfoExtractor):
def _find_videos_in_json(self, extracted):
videos = []
continuation = None
c = {}
def _real_find(obj):
if obj is None or isinstance(obj, str):
@ -3341,8 +3341,7 @@ class YoutubeFeedsInfoExtractor(YoutubeBaseInfoExtractor):
return
if "nextContinuationData" in obj:
nonlocal continuation
continuation = obj["nextContinuationData"]
c["continuation"] = obj["nextContinuationData"]
return
for _, o in obj.items():
@ -3350,7 +3349,7 @@ class YoutubeFeedsInfoExtractor(YoutubeBaseInfoExtractor):
_real_find(extracted)
return videos, continuation
return videos, try_get(c, lambda x: x["continuation"])
def _entries(self, page):
info = []
@ -3384,7 +3383,7 @@ class YoutubeFeedsInfoExtractor(YoutubeBaseInfoExtractor):
info.extend(new_info)
for video in new_info:
yield self.url_result(try_get(video, lambda x: x['videoId']), YoutubeIE.ie_key(), video_title=try_get(video, lambda x: x['title']['simpleText']))
yield self.url_result(try_get(video, lambda x: x['videoId']), YoutubeIE.ie_key(), video_title=try_get(video, lambda x: x['title']['runs'][0]['text']))
if not continuation:
break