From: Sergey M․ Date: Fri, 3 Oct 2014 11:57:18 +0000 (+0700) Subject: [breakcom] Cover more URLs with _VALID_URL (Closes #3876) X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=commitdiff_plain;h=f78c01f68b1e16e385ec319c7f5d351b173c7ec5;p=youtube-dl [breakcom] Cover more URLs with _VALID_URL (Closes #3876) --- diff --git a/youtube_dl/extractor/breakcom.py b/youtube_dl/extractor/breakcom.py index 1bfc9f35b..9b0aa2b1b 100644 --- a/youtube_dl/extractor/breakcom.py +++ b/youtube_dl/extractor/breakcom.py @@ -7,25 +7,27 @@ from .common import InfoExtractor class BreakIE(InfoExtractor): - _VALID_URL = r'http://(?:www\.)?break\.com/video/([^/]+)' - _TEST = { + _VALID_URL = r'http://(?:www\.)?break\.com/video/(?:[^/]+/)*.+-(?P\d+)' + _TESTS = [{ 'url': 'http://www.break.com/video/when-girls-act-like-guys-2468056', - 'md5': 'a3513fb1547fba4fb6cfac1bffc6c46b', + 'md5': '33aa4ff477ecd124d18d7b5d23b87ce5', 'info_dict': { 'id': '2468056', 'ext': 'mp4', 'title': 'When Girls Act Like D-Bags', } - } + }, { + 'url': 'http://www.break.com/video/ugc/baby-flex-2773063', + 'only_matching': True, + }] def _real_extract(self, url): - mobj = re.match(self._VALID_URL, url) - video_id = mobj.group(1).split("-")[-1] - embed_url = 'http://www.break.com/embed/%s' % video_id - webpage = self._download_webpage(embed_url, video_id) - info_json = self._search_regex(r'var embedVars = ({.*})\s*?', - webpage, 'info json', flags=re.DOTALL) - info = json.loads(info_json) + video_id = self._match_id(url) + webpage = self._download_webpage( + 'http://www.break.com/embed/%s' % video_id, video_id) + info = json.loads(self._search_regex( + r'var embedVars = ({.*})\s*?', + webpage, 'info json', flags=re.DOTALL)) video_url = info['videoUri'] youtube_id = info.get('youtubeId') if youtube_id: