aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/tests.json9
-rwxr-xr-xyoutube_dl/InfoExtractors.py24
2 files changed, 33 insertions, 0 deletions
diff --git a/test/tests.json b/test/tests.json
index c2c6421fd..30ab11fd8 100644
--- a/test/tests.json
+++ b/test/tests.json
@@ -640,5 +640,14 @@
"uploader": "videoseconds",
"title": "Instagram photo by @videoseconds (Videos)"
}
+ },
+ {
+ "name": "Break",
+ "url": "http://www.break.com/video/when-girls-act-like-guys-2468056",
+ "file": "2468056.mp4",
+ "md5": "a3513fb1547fba4fb6cfac1bffc6c46b",
+ "info_dict": {
+ "title": "When Girls Act Like D-Bags"
+ }
}
]
diff --git a/youtube_dl/InfoExtractors.py b/youtube_dl/InfoExtractors.py
index 4aec8c687..11176dd6a 100755
--- a/youtube_dl/InfoExtractors.py
+++ b/youtube_dl/InfoExtractors.py
@@ -4575,6 +4575,29 @@ class StatigrIE(InfoExtractor):
'uploader' : uploader
}]
+class BreakIE(InfoExtractor):
+ _VALID_URL = r'(?:http://)?(?:www\.)?break\.com/video/([^/]+)'
+
+ def _real_extract(self, url):
+ mobj = re.match(self._VALID_URL, url)
+ if mobj is None:
+ raise ExtractorError(u'Invalid URL: %s' % url)
+ video_id = mobj.group(1).split("-")[-1]
+ webpage = self._download_webpage(url, video_id)
+ video_url = re.search(r"videoPath: '(.+?)',",webpage).group(1)
+ key = re.search(r"icon: '(.+?)',",webpage).group(1)
+ final_url = str(video_url)+"?"+str(key)
+ thumbnail_url = re.search(r"thumbnailURL: '(.+?)'",webpage).group(1)
+ title = re.search(r"sVidTitle: '(.+)',",webpage).group(1)
+ ext = video_url.split('.')[-1]
+ return [{
+ 'id': video_id,
+ 'url': final_url,
+ 'ext': ext,
+ 'title': title,
+ 'thumbnail': thumbnail_url,
+ }]
+
def gen_extractors():
""" Return a list of an instance of every supported extractor.
The order does matter; the first extractor matched is the one handling the URL.
@@ -4642,6 +4665,7 @@ def gen_extractors():
Vbox7IE(),
GametrailersIE(),
StatigrIE(),
+ BreakIE(),
GenericIE()
]