From b896e886b9d2339450740a69f26ba5691e817d5d Mon Sep 17 00:00:00 2001 From: Matthias Heinz Date: Sat, 24 Sep 2016 17:32:54 -0400 Subject: [PATCH 1/4] [mwave] added support for URL language flags --- youtube_dl/extractor/mwave.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/youtube_dl/extractor/mwave.py b/youtube_dl/extractor/mwave.py index a103e0323..72dbb4aab 100644 --- a/youtube_dl/extractor/mwave.py +++ b/youtube_dl/extractor/mwave.py @@ -9,7 +9,7 @@ from ..utils import ( class MwaveIE(InfoExtractor): - _VALID_URL = r'https?://mwave\.interest\.me/mnettv/videodetail\.m\?searchVideoDetailVO\.clip_id=(?P[0-9]+)' + _VALID_URL = r'https?://mwave\.interest\.me/(([a-z][a-z]\/)?)mnettv/videodetail\.m\?searchVideoDetailVO\.clip_id=(?P[0-9]+)' _URL_TEMPLATE = 'http://mwave.interest.me/mnettv/videodetail.m?searchVideoDetailVO.clip_id=%s' _TEST = { 'url': 'http://mwave.interest.me/mnettv/videodetail.m?searchVideoDetailVO.clip_id=168859', @@ -28,6 +28,14 @@ class MwaveIE(InfoExtractor): def _real_extract(self, url): video_id = self._match_id(url) + # Check that language (if given) is valid + languages = ['en/', 'jp/', 'cn/', 'tw/', 'kr/', 'es/'] + start = url.index('mwave.interest.me/') + len('mwave.interest.me/') + end = url.index('mnettv/', start) + if url[start:end] and not url[start:end] in languages: + raise Exception('[mwave] invalid language detected: {}'.format(url[start:end])) + + vod_info = self._download_json( 'http://mwave.interest.me/onair/vod_info.m?vodtype=CL§orid=&endinfo=Y&id=%s' % video_id, video_id, 'Download vod JSON') @@ -60,7 +68,7 @@ class MwaveIE(InfoExtractor): class MwaveMeetGreetIE(InfoExtractor): - _VALID_URL = r'https?://mwave\.interest\.me/meetgreet/view/(?P\d+)' + _VALID_URL = r'https?://mwave\.interest\.me/(([a-z][a-z]\/)?)meetgreet/view/(?P\d+)' _TEST = { 'url': 'http://mwave.interest.me/meetgreet/view/256', 'info_dict': { @@ -76,6 +84,14 @@ class MwaveMeetGreetIE(InfoExtractor): def _real_extract(self, url): video_id = self._match_id(url) + + # Check that language (if given) is valid + languages = ['en/', 'jp/', 'cn/', 'tw/', 'kr/', 'es/'] + start = url.index('mwave.interest.me/') + len('mwave.interest.me/') + end = url.index('meetgreet/', start) + if url[start:end] and not url[start:end] in languages: + raise Exception('[mwave] invalid language detected: {}'.format(url[start:end])) + webpage = self._download_webpage(url, video_id) clip_id = self._html_search_regex( r']+src="/mnettv/ifr_clip\.m\?searchVideoDetailVO\.clip_id=(\d+)', From 8b4a6d171307f8f78aa0aabf6ea64308b5a942d7 Mon Sep 17 00:00:00 2001 From: Matthias Heinz Date: Sat, 24 Sep 2016 18:04:22 -0400 Subject: [PATCH 2/4] [mwave] updated to pass flake8 --- youtube_dl/extractor/mwave.py | 1 - 1 file changed, 1 deletion(-) diff --git a/youtube_dl/extractor/mwave.py b/youtube_dl/extractor/mwave.py index 72dbb4aab..887182104 100644 --- a/youtube_dl/extractor/mwave.py +++ b/youtube_dl/extractor/mwave.py @@ -35,7 +35,6 @@ class MwaveIE(InfoExtractor): if url[start:end] and not url[start:end] in languages: raise Exception('[mwave] invalid language detected: {}'.format(url[start:end])) - vod_info = self._download_json( 'http://mwave.interest.me/onair/vod_info.m?vodtype=CL§orid=&endinfo=Y&id=%s' % video_id, video_id, 'Download vod JSON') From 80bc500b048bd6db3971cc8ceb9525d219bee915 Mon Sep 17 00:00:00 2001 From: Matthias Heinz Date: Sat, 24 Sep 2016 18:20:51 -0400 Subject: [PATCH 3/4] Updated according to feedback given. --- youtube_dl/extractor/mwave.py | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/youtube_dl/extractor/mwave.py b/youtube_dl/extractor/mwave.py index 887182104..54c8a721a 100644 --- a/youtube_dl/extractor/mwave.py +++ b/youtube_dl/extractor/mwave.py @@ -9,7 +9,7 @@ from ..utils import ( class MwaveIE(InfoExtractor): - _VALID_URL = r'https?://mwave\.interest\.me/(([a-z][a-z]\/)?)mnettv/videodetail\.m\?searchVideoDetailVO\.clip_id=(?P[0-9]+)' + _VALID_URL = r'https?://mwave\.interest\.me/([^/][^/]/)?mnettv/videodetail\.m\?searchVideoDetailVO\.clip_id=(?P[0-9]+)' _URL_TEMPLATE = 'http://mwave.interest.me/mnettv/videodetail.m?searchVideoDetailVO.clip_id=%s' _TEST = { 'url': 'http://mwave.interest.me/mnettv/videodetail.m?searchVideoDetailVO.clip_id=168859', @@ -28,13 +28,6 @@ class MwaveIE(InfoExtractor): def _real_extract(self, url): video_id = self._match_id(url) - # Check that language (if given) is valid - languages = ['en/', 'jp/', 'cn/', 'tw/', 'kr/', 'es/'] - start = url.index('mwave.interest.me/') + len('mwave.interest.me/') - end = url.index('mnettv/', start) - if url[start:end] and not url[start:end] in languages: - raise Exception('[mwave] invalid language detected: {}'.format(url[start:end])) - vod_info = self._download_json( 'http://mwave.interest.me/onair/vod_info.m?vodtype=CL§orid=&endinfo=Y&id=%s' % video_id, video_id, 'Download vod JSON') @@ -83,14 +76,6 @@ class MwaveMeetGreetIE(InfoExtractor): def _real_extract(self, url): video_id = self._match_id(url) - - # Check that language (if given) is valid - languages = ['en/', 'jp/', 'cn/', 'tw/', 'kr/', 'es/'] - start = url.index('mwave.interest.me/') + len('mwave.interest.me/') - end = url.index('meetgreet/', start) - if url[start:end] and not url[start:end] in languages: - raise Exception('[mwave] invalid language detected: {}'.format(url[start:end])) - webpage = self._download_webpage(url, video_id) clip_id = self._html_search_regex( r']+src="/mnettv/ifr_clip\.m\?searchVideoDetailVO\.clip_id=(\d+)', From dcc55d66eb74ef55efce0ecf8a54dd8284d5a3c3 Mon Sep 17 00:00:00 2001 From: Matthias Heinz Date: Sat, 24 Sep 2016 18:22:57 -0400 Subject: [PATCH 4/4] [mwave] Updated so that the changes affect MwaveMeetGreetIE as well. --- youtube_dl/extractor/mwave.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/youtube_dl/extractor/mwave.py b/youtube_dl/extractor/mwave.py index 54c8a721a..35da5edcc 100644 --- a/youtube_dl/extractor/mwave.py +++ b/youtube_dl/extractor/mwave.py @@ -60,7 +60,7 @@ class MwaveIE(InfoExtractor): class MwaveMeetGreetIE(InfoExtractor): - _VALID_URL = r'https?://mwave\.interest\.me/(([a-z][a-z]\/)?)meetgreet/view/(?P\d+)' + _VALID_URL = r'https?://mwave\.interest\.me/([^/][^/]/)?meetgreet/view/(?P\d+)' _TEST = { 'url': 'http://mwave.interest.me/meetgreet/view/256', 'info_dict': {