projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
ad213a1
)
[brightcove:legacy] Support 'playlistTabs' and skip a dead test
author
Yen Chi Hsuan
<yan12125@gmail.com>
Wed, 6 Jul 2016 17:13:37 +0000
(
01:13
+0800)
committer
Yen Chi Hsuan
<yan12125@gmail.com>
Wed, 6 Jul 2016 17:13:37 +0000
(
01:13
+0800)
Closes #9965
youtube_dl/extractor/brightcove.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/brightcove.py
b/youtube_dl/extractor/brightcove.py
index b49b1977dba920bb6cdffb9904d2c5a6a44acd9c..57ce0c174ce92c45a80471e8088b2a951c0a0219 100644
(file)
--- a/
youtube_dl/extractor/brightcove.py
+++ b/
youtube_dl/extractor/brightcove.py
@@
-90,6
+90,7
@@
class BrightcoveLegacyIE(InfoExtractor):
'description': 'md5:363109c02998fee92ec02211bd8000df',
'uploader': 'National Ballet of Canada',
},
'description': 'md5:363109c02998fee92ec02211bd8000df',
'uploader': 'National Ballet of Canada',
},
+ 'skip': 'Video gone',
},
{
# test flv videos served by akamaihd.net
},
{
# test flv videos served by akamaihd.net
@@
-108,7
+109,7
@@
class BrightcoveLegacyIE(InfoExtractor):
},
},
{
},
},
{
- # playlist
test
+ # playlist
with 'videoList'
# from http://support.brightcove.com/en/video-cloud/docs/playlist-support-single-video-players
'url': 'http://c.brightcove.com/services/viewer/htmlFederated?playerID=3550052898001&playerKey=AQ%7E%7E%2CAAABmA9XpXk%7E%2C-Kp7jNgisre1fG5OdqpAFUTcs0lP_ZoL',
'info_dict': {
# from http://support.brightcove.com/en/video-cloud/docs/playlist-support-single-video-players
'url': 'http://c.brightcove.com/services/viewer/htmlFederated?playerID=3550052898001&playerKey=AQ%7E%7E%2CAAABmA9XpXk%7E%2C-Kp7jNgisre1fG5OdqpAFUTcs0lP_ZoL',
'info_dict': {
@@
-117,6
+118,15
@@
class BrightcoveLegacyIE(InfoExtractor):
},
'playlist_mincount': 7,
},
},
'playlist_mincount': 7,
},
+ {
+ # playlist with 'playlistTab' (https://github.com/rg3/youtube-dl/issues/9965)
+ 'url': 'http://c.brightcove.com/services/json/experience/runtime/?command=get_programming_for_experience&playerKey=AQ%7E%7E,AAABXlLMdok%7E,NJ4EoMlZ4rZdx9eU1rkMVd8EaYPBBUlg',
+ 'info_dict': {
+ 'id': '1522758701001',
+ 'title': 'Lesson 08',
+ },
+ 'playlist_mincount': 10,
+ },
]
FLV_VCODECS = {
1: 'SORENSON',
]
FLV_VCODECS = {
1: 'SORENSON',
@@
-298,13
+308,19
@@
class BrightcoveLegacyIE(InfoExtractor):
info_url, player_key, 'Downloading playlist information')
json_data = json.loads(playlist_info)
info_url, player_key, 'Downloading playlist information')
json_data = json.loads(playlist_info)
- if 'videoList' not in json_data:
+ if 'videoList' in json_data:
+ playlist_info = json_data['videoList']
+ playlist_dto = playlist_info['mediaCollectionDTO']
+ elif 'playlistTabs' in json_data:
+ playlist_info = json_data['playlistTabs']
+ playlist_dto = playlist_info['lineupListDTO']['playlistDTOs'][0]
+ else:
raise ExtractorError('Empty playlist')
raise ExtractorError('Empty playlist')
- playlist_info = json_data['videoList']
- videos = [self._extract_video_info(video_info) for video_info in playlist_
info['mediaCollectionDTO']
['videoDTOs']]
+
+ videos = [self._extract_video_info(video_info) for video_info in playlist_
dto
['videoDTOs']]
return self.playlist_result(videos, playlist_id='%s' % playlist_info['id'],
return self.playlist_result(videos, playlist_id='%s' % playlist_info['id'],
- playlist_title=playlist_
info['mediaCollectionDTO']
['displayName'])
+ playlist_title=playlist_
dto
['displayName'])
def _extract_video_info(self, video_info):
video_id = compat_str(video_info['id'])
def _extract_video_info(self, video_info):
video_id = compat_str(video_info['id'])