[mwave] New extractor for mwave.interest.me

pull/8/head
ping 2015-07-22 14:31:29 +08:00 zatwierdzone przez Sergey M․
rodzic ca681f7041
commit 7900aede14
2 zmienionych plików z 47 dodań i 0 usunięć

Wyświetl plik

@ -345,6 +345,7 @@ from .muenchentv import MuenchenTVIE
from .musicplayon import MusicPlayOnIE
from .musicvault import MusicVaultIE
from .muzu import MuzuTVIE
from .mwave import MwaveIE
from .myspace import MySpaceIE, MySpaceAlbumIE
from .myspass import MySpassIE
from .myvi import MyviIE

Wyświetl plik

@ -0,0 +1,46 @@
from __future__ import unicode_literals
from .common import InfoExtractor
class MwaveIE(InfoExtractor):
IE_NAME = 'mwave'
_VALID_URL = r'https?://mwave\.interest\.me/mnettv/videodetail\.m\?searchVideoDetailVO\.clip_id=(?P<id>[0-9]+)'
_TESTS = [{
'url': 'http://mwave.interest.me/mnettv/videodetail.m?searchVideoDetailVO.clip_id=168859',
'info_dict': {
'id': '168859',
'ext': 'flv',
'title': '[M COUNTDOWN] SISTAR - SHAKE IT',
'creator': 'M COUNTDOWN',
}
}, {
'url': 'http://mwave.interest.me/mnettv/videodetail.m?searchVideoDetailVO.clip_id=168860',
'info_dict': {
'id': '168860',
'ext': 'flv',
'title': '[Full Ver.] M GIGS Ep. 59 - IDIOTAPE Live Part 1',
'creator': 'M-GIGS',
}
}]
def _real_extract(self, url):
video_id = self._match_id(url)
stream_info = self._download_json(
'http://mwave.interest.me/onair/vod_info.m?vodtype=CL&sectorid=&endinfo=Y&id=%s' % video_id,
'Download stream info')
formats = []
for info in stream_info['cdn']:
f4m_stream = self._download_json(info['url'], video_id, 'Download f4m stream')
formats.extend(
self._extract_f4m_formats(f4m_stream['fileurl'] + '&g=PCROWKHLYUDY&hdcore=3.0.3', video_id))
self._sort_formats(formats)
return {
'id': video_id,
'title': stream_info['title'],
'creator': stream_info.get('program_title'),
'formats': formats,
}