diff options
| -rwxr-xr-x | youtube_dl/InfoExtractors.py | 8 | 
1 files changed, 6 insertions, 2 deletions
| diff --git a/youtube_dl/InfoExtractors.py b/youtube_dl/InfoExtractors.py index 937cf9447..9fbe6d627 100755 --- a/youtube_dl/InfoExtractors.py +++ b/youtube_dl/InfoExtractors.py @@ -1919,7 +1919,7 @@ class FacebookIE(InfoExtractor):  class BlipTVIE(InfoExtractor):      """Information extractor for blip.tv""" -    _VALID_URL = r'^(?:https?://)?(?:\w+\.)?blip\.tv(/.+)$' +    _VALID_URL = r'^(?:https?://)?(?:\w+\.)?blip\.tv/((.+/)|(play/)|(api\.swf#))(.+)$'      _URL_EXT = r'^.*\.([a-z0-9]+)$'      IE_NAME = u'blip.tv' @@ -1932,6 +1932,10 @@ class BlipTVIE(InfoExtractor):          if mobj is None:              raise ExtractorError(u'Invalid URL: %s' % url) +        # See https://github.com/rg3/youtube-dl/issues/857 +        api_mobj = re.match(r'http://a\.blip\.tv/api\.swf#(?P<video_id>[\d\w]+)', url) +        if api_mobj is not None: +            url = 'http://blip.tv/play/g_%s' % api_mobj.group('video_id')          urlp = compat_urllib_parse_urlparse(url)          if urlp.path.startswith('/play/'):              request = compat_urllib_request.Request(url) @@ -4440,8 +4444,8 @@ def gen_extractors():          YahooSearchIE(),          DepositFilesIE(),          FacebookIE(), -        BlipTVUserIE(),          BlipTVIE(), +        BlipTVUserIE(),          VimeoIE(),          MyVideoIE(),          ComedyCentralIE(), | 
