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:
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'])
#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