From a4d5b00b6609dbe5f0cf8af919e89e0e32662538 Mon Sep 17 00:00:00 2001 From: Mark Lee Date: Tue, 7 Apr 2015 09:48:53 -0400 Subject: [PATCH] [mtv] Add alternate way to retrieve mgid Use the embed URL to retrieve the mgid for a given episode, if all other methods fail. Fixes rg3/youtube-dl#5369. --- youtube_dl/extractor/mtv.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/youtube_dl/extractor/mtv.py b/youtube_dl/extractor/mtv.py index c11de1cb6..fee31a218 100644 --- a/youtube_dl/extractor/mtv.py +++ b/youtube_dl/extractor/mtv.py @@ -182,7 +182,8 @@ class MTVServicesInfoExtractor(InfoExtractor): if mgid is None or ':' not in mgid: mgid = self._search_regex( - [r'data-mgid="(.*?)"', r'swfobject.embedSWF\(".*?(mgid:.*?)"'], + [r'data-mgid="(.*?)"', r'swfobject.embedSWF\(".*?(mgid:.*?)"', + r'sm4:video:embed.*?' + MTVServicesEmbeddedIE._VALID_URL], webpage, 'mgid') videos_info = self._get_videos_info(mgid) @@ -191,7 +192,7 @@ class MTVServicesInfoExtractor(InfoExtractor): class MTVServicesEmbeddedIE(MTVServicesInfoExtractor): IE_NAME = 'mtvservices:embedded' - _VALID_URL = r'https?://media\.mtvnservices\.com/embed/(?P.+?)(\?|/|$)' + _VALID_URL = r'https?://media\.mtvnservices\.com/embed/(?P.+?)(\?|/|&|$)' _TEST = { # From http://www.thewrap.com/peter-dinklage-sums-up-game-of-thrones-in-45-seconds-video/