[mtvde] Add support for news
This commit is contained in:
parent
c3c9f87954
commit
65488b820c
|
@ -296,7 +296,7 @@ class MTVIggyIE(MTVServicesInfoExtractor):
|
||||||
|
|
||||||
class MTVDEIE(MTVServicesInfoExtractor):
|
class MTVDEIE(MTVServicesInfoExtractor):
|
||||||
IE_NAME = 'mtv.de'
|
IE_NAME = 'mtv.de'
|
||||||
_VALID_URL = r'https?://(?:www\.)?mtv\.de/(?:artists|shows)/(?:[^/]+/)+(?P<id>\d+)-[^/#?]+/*(?:[#?].*)?$'
|
_VALID_URL = r'https?://(?:www\.)?mtv\.de/(?:artists|shows|news)/(?:[^/]+/)*(?P<id>\d+)-[^/#?]+/*(?:[#?].*)?$'
|
||||||
_TESTS = [{
|
_TESTS = [{
|
||||||
'url': 'http://www.mtv.de/artists/10571-cro/videos/61131-traum',
|
'url': 'http://www.mtv.de/artists/10571-cro/videos/61131-traum',
|
||||||
'info_dict': {
|
'info_dict': {
|
||||||
|
@ -321,6 +321,19 @@ class MTVDEIE(MTVServicesInfoExtractor):
|
||||||
# rtmp download
|
# rtmp download
|
||||||
'skip_download': True,
|
'skip_download': True,
|
||||||
},
|
},
|
||||||
|
}, {
|
||||||
|
# single video in pagePlaylist with different id
|
||||||
|
'url': 'http://www.mtv.de/news/77491-mtv-movies-spotlight-pixels-teil-3',
|
||||||
|
'info_dict': {
|
||||||
|
'id': 'local_playlist-4e760566473c4c8c5344',
|
||||||
|
'ext': 'mp4',
|
||||||
|
'title': 'Article_mtv-movies-spotlight-pixels-teil-3_short-clips_part1',
|
||||||
|
'description': 'MTV Movies Supercut',
|
||||||
|
},
|
||||||
|
'params': {
|
||||||
|
# rtmp download
|
||||||
|
'skip_download': True,
|
||||||
|
},
|
||||||
}]
|
}]
|
||||||
|
|
||||||
def _real_extract(self, url):
|
def _real_extract(self, url):
|
||||||
|
@ -333,6 +346,10 @@ class MTVDEIE(MTVServicesInfoExtractor):
|
||||||
r'window\.pagePlaylist\s*=\s*(\[.+?\]);\n', webpage, 'page playlist'),
|
r'window\.pagePlaylist\s*=\s*(\[.+?\]);\n', webpage, 'page playlist'),
|
||||||
video_id)
|
video_id)
|
||||||
|
|
||||||
|
# news pages contain single video in playlist with different id
|
||||||
|
if len(playlist) == 1:
|
||||||
|
return self._get_videos_info_from_url(playlist[0]['mrss'], video_id)
|
||||||
|
|
||||||
for item in playlist:
|
for item in playlist:
|
||||||
item_id = item.get('id')
|
item_id = item.get('id')
|
||||||
if item_id and compat_str(item_id) == video_id:
|
if item_id and compat_str(item_id) == video_id:
|
||||||
|
|
Loading…
Reference in New Issue