瀏覽代碼

[generic] Support double slash URLs (Fixes #1309)

Philipp Hagemeister 12 年之前
父節點
當前提交
0838239e8e
共有 1 個文件被更改,包括 5 次插入1 次删除
  1. 5 1
      youtube_dl/extractor/generic.py

+ 5 - 1
youtube_dl/extractor/generic.py

@@ -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'.*'
@@ -23,7 +25,7 @@ class GenericIE(InfoExtractor):
             u'file': u'13601338388002.mp4',
             u'file': u'13601338388002.mp4',
             u'md5': u'85b90ccc9d73b4acd9138d3af4c27f89',
             u'md5': u'85b90ccc9d73b4acd9138d3af4c27f89',
             u'info_dict': {
             u'info_dict': {
-                u"uploader": u"www.hodiho.fr", 
+                u"uploader": u"www.hodiho.fr",
                 u"title": u"R\u00e9gis plante sa Jeep"
                 u"title": u"R\u00e9gis plante sa Jeep"
             }
             }
         },
         },
@@ -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: