]> git.bitcoin.ninja Git - youtube-dl/blobdiff - youtube_dl/InfoExtractors.py
Merge branch 'master' of github.com:thesues/youtube-dl
[youtube-dl] / youtube_dl / InfoExtractors.py
index e1fc93b6b01ae86c105a1430d391e7bbbfbaab2d..7221ae41e4796adc0830b4ae789556ec3d1e7d26 100644 (file)
@@ -3019,7 +3019,10 @@ class YoukuIE(InfoExtractor):
                video_id = mobj.group('ID')
 
                info_url = 'http://v.youku.com/player/getPlayList/VideoIDS/' + video_id
+<<<<<<< HEAD
                print info_url
+=======
+>>>>>>> 51661d86005ffbdd4debd051cd9683cf5f5c2fe9
 
                request = urllib2.Request(info_url, None, std_headers)
                try:
@@ -3035,11 +3038,27 @@ class YoukuIE(InfoExtractor):
 
                        video_title =  config['data'][0]['title']
                        seed = config['data'][0]['seed']
-                       #choose format flv first
-                       format = 'flv'
+
+                       format = self._downloader.params.get('format', None)
+                       supported_format = config['data'][0]['streamfileids'].keys()
+
+                       if format is None or format == 'best':
+                               if 'hd2' in supported_format:
+                                       format = 'hd2'
+                               else:
+                                       format = 'flv'
+                               ext = u'flv'
+                       elif format == 'worst':
+                               format = 'mp4'
+                               ext = u'mp4'
+                       else:
+                               format = 'flv'
+                               ext = u'flv'
+
 
                        fileid = config['data'][0]['streamfileids'][format]
                        seg_number = len(config['data'][0]['segs'][format])
+
                        keys=[]
                        for i in xrange(seg_number):
                                keys.append(config['data'][0]['segs'][format][i]['k'])
@@ -3058,18 +3077,17 @@ class YoukuIE(InfoExtractor):
                #fileid[7:9] should be changed
                for index, key in enumerate(keys):
 
-                       temp_fileid = '%s%02x%s' % (fileid[0:8], index, fileid[10:])
-                       download_url = 'http://f.youku.com/player/getFlvPath/sid/%s_%02x/st/flv/fileid/%s?k=%s' % (sid, index, temp_fileid, key)
+                       temp_fileid = '%s%02X%s' % (fileid[0:8], index, fileid[10:])
+                       download_url = 'http://f.youku.com/player/getFlvPath/sid/%s_%02X/st/flv/fileid/%s?k=%s' % (sid, index, temp_fileid, key)
                        print download_url
                        info = {
-                               'id': '%s_part%02x' % (video_id, index),
+                               'id': '%s_part%02d' % (video_id, index),
                                'url': download_url,
                                'uploader': None,
-                               'title': '%s_part%02x' % (video_title, index),
-                               'ext': u'flv',
+                               'title': video_title,
+                               'ext': ext,
                                'format': u'NA'
                        }
                        files_info.append(info)
 
                return files_info
-# vim: tabstop=4 shiftwidth=4 softtabstop=4 noexpandtab