Merge pull request #224 from kyuyeunk/vlive

[Vlive] Fix playlist handling when downloading a channel
This commit is contained in:
Tom-Oliver Heidel 2020-11-30 02:26:35 +01:00 committed by GitHub
commit 8e423ae86a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 26 additions and 5 deletions

View File

@ -315,13 +315,34 @@ class VLiveChannelIE(VLiveBaseIE):
for video in videos: for video in videos:
video_id = video.get('videoSeq') video_id = video.get('videoSeq')
if not video_id: video_type = video.get('videoType')
if not video_id or not video_type:
continue continue
video_id = compat_str(video_id) video_id = compat_str(video_id)
entries.append(
self.url_result( if video_type in ('PLAYLIST'):
'http://www.vlive.tv/video/%s' % video_id, playlist_videos = try_get(
ie=VLiveIE.ie_key(), video_id=video_id)) video,
lambda x: x['videoPlaylist']['videoList'], list)
if not playlist_videos:
continue
for playlist_video in playlist_videos:
playlist_video_id = playlist_video.get('videoSeq')
if not playlist_video_id:
continue
playlist_video_id = compat_str(playlist_video_id)
entries.append(
self.url_result(
'http://www.vlive.tv/video/%s' % playlist_video_id,
ie=VLiveIE.ie_key(), video_id=playlist_video_id))
else:
entries.append(
self.url_result(
'http://www.vlive.tv/video/%s' % video_id,
ie=VLiveIE.ie_key(), video_id=video_id))
return self.playlist_result( return self.playlist_result(
entries, channel_code, channel_name) entries, channel_code, channel_name)