|
|
@ -210,25 +210,23 @@ class YoukuIE(InfoExtractor): |
|
|
|
video_urls_dict = self.construct_video_urls(data1, data2) |
|
|
|
|
|
|
|
# construct info |
|
|
|
entries = [] |
|
|
|
entries = [{ |
|
|
|
'id': '%s_part%d' % (video_id, i + 1), |
|
|
|
'title': title, |
|
|
|
'formats': [], |
|
|
|
# some formats are not available for all parts, we have to detect |
|
|
|
# which one has all |
|
|
|
} for i in range(max(len(v) for v in data1['segs'].values()))] |
|
|
|
for fm in data1['streamtypes']: |
|
|
|
video_urls = video_urls_dict[fm] |
|
|
|
for i in range(len(video_urls)): |
|
|
|
if len(entries) < i + 1: |
|
|
|
entries.append({'formats': []}) |
|
|
|
entries[i]['formats'].append({ |
|
|
|
'url': video_urls[i], |
|
|
|
for video_url, seg, entry in zip(video_urls, data1['segs'][fm], entries): |
|
|
|
entry['formats'].append({ |
|
|
|
'url': video_url, |
|
|
|
'format_id': self.get_format_name(fm), |
|
|
|
'ext': self.parse_ext_l(fm), |
|
|
|
'filesize': int(data1['segs'][fm][i]['size']) |
|
|
|
'filesize': int(seg['size']), |
|
|
|
}) |
|
|
|
|
|
|
|
for i in range(len(entries)): |
|
|
|
entries[i].update({ |
|
|
|
'id': '%s_part%d' % (video_id, i + 1), |
|
|
|
'title': title, |
|
|
|
}) |
|
|
|
|
|
|
|
return { |
|
|
|
'_type': 'multi_video', |
|
|
|
'id': video_id, |
|
|
|