[youtube] Fix extraction.
[youtube-dl] / youtube_dl / extractor / uplynk.py
index 4313bc9cbbd11d01682fad8b4382cf3b5eaeedd3..f06bf5b127fd0f352937d79fa6d5267fcb7cdb26 100644 (file)
@@ -11,6 +11,7 @@ from ..utils import (
 
 
 class UplynkIE(InfoExtractor):
+    IE_NAME = 'uplynk'
     _VALID_URL = r'https?://.*?\.uplynk\.com/(?P<path>ext/[0-9a-f]{32}/(?P<external_id>[^/?&]+)|(?P<id>[0-9a-f]{32}))\.(?:m3u8|json)(?:.*?\bpbs=(?P<session_id>[^&]+))?'
     _TEST = {
         'url': 'http://content.uplynk.com/e89eaf2ce9054aa89d92ddb2d817a52e.m3u8',
@@ -29,12 +30,12 @@ class UplynkIE(InfoExtractor):
     def _extract_uplynk_info(self, uplynk_content_url):
         path, external_id, video_id, session_id = re.match(UplynkIE._VALID_URL, uplynk_content_url).groups()
         display_id = video_id or external_id
-        formats = self._extract_m3u8_formats('http://content.uplynk.com/%s.m3u8' % path, display_id, 'mp4')
+        formats = self._extract_m3u8_formats(
+            'http://content.uplynk.com/%s.m3u8' % path,
+            display_id, 'mp4', 'm3u8_native')
         if session_id:
             for f in formats:
-                f['extra_param_to_segment_url'] = {
-                    'pbs': session_id,
-                }
+                f['extra_param_to_segment_url'] = 'pbs=' + session_id
         self._sort_formats(formats)
         asset = self._download_json('http://content.uplynk.com/player/assetinfo/%s.json' % path, display_id)
         if asset.get('error') == 1:
@@ -54,7 +55,9 @@ class UplynkIE(InfoExtractor):
 
 
 class UplynkPreplayIE(UplynkIE):
+    IE_NAME = 'uplynk:preplay'
     _VALID_URL = r'https?://.*?\.uplynk\.com/preplay2?/(?P<path>ext/[0-9a-f]{32}/(?P<external_id>[^/?&]+)|(?P<id>[0-9a-f]{32}))\.json'
+    _TEST = None
 
     def _real_extract(self, url):
         path, external_id, video_id = re.match(self._VALID_URL, url).groups()