|
@ -4575,6 +4575,29 @@ class StatigrIE(InfoExtractor): |
|
|
'uploader' : uploader |
|
|
'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(): |
|
|
def gen_extractors(): |
|
|
""" Return a list of an instance of every supported extractor. |
|
|
""" Return a list of an instance of every supported extractor. |
|
|
The order does matter; the first extractor matched is the one handling the URL. |
|
|
The order does matter; the first extractor matched is the one handling the URL. |
|
@ -4642,6 +4665,7 @@ def gen_extractors(): |
|
|
Vbox7IE(), |
|
|
Vbox7IE(), |
|
|
GametrailersIE(), |
|
|
GametrailersIE(), |
|
|
StatigrIE(), |
|
|
StatigrIE(), |
|
|
|
|
|
BreakIE(), |
|
|
GenericIE() |
|
|
GenericIE() |
|
|
] |
|
|
] |
|
|
|
|
|
|
|
|