|
|
@ -7,12 +7,14 @@ from .common import InfoExtractor |
|
|
|
from ..utils import ( |
|
|
|
from ..utils import ( |
|
|
|
compat_urllib_error, |
|
|
|
compat_urllib_error, |
|
|
|
compat_urllib_parse, |
|
|
|
compat_urllib_parse, |
|
|
|
|
|
|
|
compat_urllib_parse_urlparse, |
|
|
|
compat_urllib_request, |
|
|
|
compat_urllib_request, |
|
|
|
|
|
|
|
|
|
|
|
ExtractorError, |
|
|
|
ExtractorError, |
|
|
|
) |
|
|
|
) |
|
|
|
from .brightcove import BrightcoveIE |
|
|
|
from .brightcove import BrightcoveIE |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class GenericIE(InfoExtractor): |
|
|
|
class GenericIE(InfoExtractor): |
|
|
|
IE_DESC = u'Generic downloader that works on some sites' |
|
|
|
IE_DESC = u'Generic downloader that works on some sites' |
|
|
|
_VALID_URL = r'.*' |
|
|
|
_VALID_URL = r'.*' |
|
|
@ -161,6 +163,8 @@ class GenericIE(InfoExtractor): |
|
|
|
raise ExtractorError(u'Invalid URL: %s' % url) |
|
|
|
raise ExtractorError(u'Invalid URL: %s' % url) |
|
|
|
|
|
|
|
|
|
|
|
video_url = compat_urllib_parse.unquote(mobj.group(1)) |
|
|
|
video_url = compat_urllib_parse.unquote(mobj.group(1)) |
|
|
|
|
|
|
|
if video_url.startswith('//'): |
|
|
|
|
|
|
|
video_url = compat_urllib_parse_urlparse(url).scheme + ':' + video_url |
|
|
|
video_id = os.path.basename(video_url) |
|
|
|
video_id = os.path.basename(video_url) |
|
|
|
|
|
|
|
|
|
|
|
# here's a fun little line of code for you: |
|
|
|
# here's a fun little line of code for you: |
|
|
|