[infoq] Simplify playpath calculation
authorKai Weber <kai.weber@brands4friends.de>
Sat, 19 Apr 2014 23:10:30 +0000 (01:10 +0200)
committerKai Weber <kai.weber@brands4friends.de>
Sat, 19 Apr 2014 23:10:30 +0000 (01:10 +0200)
youtube_dl/extractor/infoq.py

index 55f7608b5b257ecc7be179dd9386f731cf65c79a..65f0b76cb0e2a413e82005405b012b4a93fae107 100644 (file)
@@ -35,9 +35,13 @@ class InfoQIE(InfoExtractor):
         video_title = self._html_search_regex(r'<title>(.*?)</title>', webpage, 'title')
         video_description = self._html_search_meta('description', webpage, 'description')
 
+        # The server URL is hardcoded
         video_url = 'rtmpe://video.infoq.com/cfx/st/'
-        base64playpath = self._search_regex(r"jsclassref = '([^']*)'", webpage, 'jsclassref')
-        playpath = 'mp4:' + base64.b64decode(base64playpath).decode('utf-8')
+
+        # Extract video URL
+        encoded_id = self._search_regex(r"jsclassref ?= ?'([^']*)'", webpage, 'encoded id')
+        real_id = compat_urllib_parse.unquote(base64.b64decode(encoded_id.encode('ascii')).decode('utf-8'))
+        playpath = 'mp4:' + real_id
 
         video_filename = playpath.split('/')[-1]
         video_id, extension = video_filename.split('.')