projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[theplatform] Fix Python 2: declare coding
[youtube-dl]
/
youtube_dl
/
extractor
/
youku.py
diff --git
a/youtube_dl/extractor/youku.py
b/youtube_dl/extractor/youku.py
index cab5be3a4a0e0ffb07fb55bc972be84649a2725d..78caeb8b36e0be8cf4e97365d9e28251723059b7 100644
(file)
--- a/
youtube_dl/extractor/youku.py
+++ b/
youtube_dl/extractor/youku.py
@@
-15,6
+15,7
@@
from ..compat import (
class YoukuIE(InfoExtractor):
IE_NAME = 'youku'
class YoukuIE(InfoExtractor):
IE_NAME = 'youku'
+ IE_DESC = '优酷'
_VALID_URL = r'''(?x)
(?:
http://(?:v|player)\.youku\.com/(?:v_show/id_|player\.php/sid/)|
_VALID_URL = r'''(?x)
(?:
http://(?:v|player)\.youku\.com/(?:v_show/id_|player\.php/sid/)|
@@
-210,25
+211,23
@@
class YoukuIE(InfoExtractor):
video_urls_dict = self.construct_video_urls(data1, data2)
# construct info
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 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),
'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,
return {
'_type': 'multi_video',
'id': video_id,