Merge remote-tracking branch 'lenaten/8tracks'
[youtube-dl] / youtube_dl / extractor / sockshare.py
index 75b634bc6b2b0595d4bc03b7640e074157b270e3..7d3c0e93783afeac3d8e939e0cf317177df4ca9f 100644 (file)
@@ -1,12 +1,16 @@
 # coding: utf-8
 from __future__ import unicode_literals
 
-from ..utils import (
-    ExtractorError,
+import re
+
+from ..compat import (
     compat_urllib_parse,
     compat_urllib_request,
 )
-import re
+from ..utils import (
+    determine_ext,
+    ExtractorError,
+)
 
 from .common import InfoExtractor
 
@@ -26,9 +30,7 @@ class SockshareIE(InfoExtractor):
     }
 
     def _real_extract(self, url):
-        mobj = re.match(self._VALID_URL, url)
-        video_id = mobj.group('id')
-
+        video_id = self._match_id(url)
         url = 'http://sockshare.com/file/%s' % video_id
         webpage = self._download_webpage(url, video_id)
 
@@ -60,7 +62,10 @@ class SockshareIE(InfoExtractor):
             r'<a href="([^"]*)".+class="download_file_link"',
             webpage, 'file url')
         video_url = "http://www.sockshare.com" + video_url
-        title = self._html_search_regex(r'<h1>(.+)<strong>', webpage, 'title')
+        title = self._html_search_regex((
+            r'<h1>(.+)<strong>',
+            r'var name = "([^"]+)";'),
+            webpage, 'title', default=None)
         thumbnail = self._html_search_regex(
             r'<img\s+src="([^"]*)".+?name="bg"',
             webpage, 'thumbnail')
@@ -68,6 +73,7 @@ class SockshareIE(InfoExtractor):
         formats = [{
             'format_id': 'sd',
             'url': video_url,
+            'ext': determine_ext(title),
         }]
 
         return {