1
1
mirror of https://github.com/ytdl-org/youtube-dl synced 2024-11-23 11:36:56 +01:00

[liveleak] Support multi-video pages (closes #6542)

This commit is contained in:
Yen Chi Hsuan 2017-08-19 22:48:00 +08:00
parent e2481b9b6e
commit 381ad4f309
No known key found for this signature in database
GPG Key ID: 3FDDD575826C5C30
2 changed files with 28 additions and 16 deletions

View File

@ -4,6 +4,7 @@ Core
* [utils] Fix unescapeHTML for misformed string like "&a"" (#13935) * [utils] Fix unescapeHTML for misformed string like "&a"" (#13935)
Extractors Extractors
+ [liveleak] Support multi-video pages (#6542)
+ [liveleak] Support another liveleak embedding pattern (#13336) + [liveleak] Support another liveleak embedding pattern (#13336)
* [cda] Fix extraction (#13935) * [cda] Fix extraction (#13935)

View File

@ -72,6 +72,13 @@ class LiveLeakIE(InfoExtractor):
'params': { 'params': {
'skip_download': True, 'skip_download': True,
}, },
}, {
'url': 'https://www.liveleak.com/view?i=677_1439397581',
'info_dict': {
'id': '677_1439397581',
'title': 'Fuel Depot in China Explosion caught on video',
},
'playlist_count': 3,
}] }]
@staticmethod @staticmethod
@ -109,26 +116,30 @@ class LiveLeakIE(InfoExtractor):
'age_limit': age_limit, 'age_limit': age_limit,
} }
info_dict = entries[0] for idx, info_dict in enumerate(entries):
for a_format in info_dict['formats']:
if not a_format.get('height'):
a_format['height'] = int_or_none(self._search_regex(
r'([0-9]+)p\.mp4', a_format['url'], 'height label',
default=None))
for a_format in info_dict['formats']: self._sort_formats(info_dict['formats'])
if not a_format.get('height'):
a_format['height'] = int_or_none(self._search_regex(
r'([0-9]+)p\.mp4', a_format['url'], 'height label',
default=None))
self._sort_formats(info_dict['formats']) # Don't append entry ID for one-video pages to keep backward compatibility
if len(entries) > 1:
info_dict['id'] = '%s_%s' % (video_id, idx + 1)
else:
info_dict['id'] = video_id
info_dict.update({ info_dict.update({
'id': video_id, 'title': video_title,
'title': video_title, 'description': video_description,
'description': video_description, 'uploader': video_uploader,
'uploader': video_uploader, 'age_limit': age_limit,
'age_limit': age_limit, 'thumbnail': video_thumbnail,
'thumbnail': video_thumbnail, })
})
return info_dict return self.playlist_result(entries, video_id, video_title)
class LiveLeakEmbedIE(InfoExtractor): class LiveLeakEmbedIE(InfoExtractor):