projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[rutv] Improve flash version pattern (Closes #8911)
[youtube-dl]
/
youtube_dl
/
extractor
/
tudou.py
diff --git
a/youtube_dl/extractor/tudou.py
b/youtube_dl/extractor/tudou.py
index da3cd76f7591a8a9e2c39ba65a47c7855104dcae..9892e8a62bf9731b8d3e5768333f71baaecd6288 100644
(file)
--- a/
youtube_dl/extractor/tudou.py
+++ b/
youtube_dl/extractor/tudou.py
@@
-6,6
+6,7
@@
from .common import InfoExtractor
from ..compat import compat_str
from ..utils import (
int_or_none,
from ..compat import compat_str
from ..utils import (
int_or_none,
+ InAdvancePagedList,
float_or_none,
unescapeHTML,
)
float_or_none,
unescapeHTML,
)
@@
-49,7
+50,7
@@
class TudouIE(InfoExtractor):
info_url = 'http://v2.tudou.com/f?id=' + compat_str(video_id)
if quality:
info_url += '&hd' + quality
info_url = 'http://v2.tudou.com/f?id=' + compat_str(video_id)
if quality:
info_url += '&hd' + quality
- xml_data = self._download_xml(info_url, video_id,
"Opening the info XML page"
)
+ xml_data = self._download_xml(info_url, video_id,
'Opening the info XML page'
)
final_url = xml_data.text
return final_url
final_url = xml_data.text
return final_url
@@
-75,15
+76,16
@@
class TudouIE(InfoExtractor):
quality = sorted(filter(lambda k: k.isdigit(), segments.keys()),
key=lambda k: int(k))[-1]
parts = segments[quality]
quality = sorted(filter(lambda k: k.isdigit(), segments.keys()),
key=lambda k: int(k))[-1]
parts = segments[quality]
- result = []
len_parts = len(parts)
if len_parts > 1:
self.to_screen('%s: found %s parts' % (video_id, len_parts))
len_parts = len(parts)
if len_parts > 1:
self.to_screen('%s: found %s parts' % (video_id, len_parts))
- for part in parts:
+
+ def part_func(partnum):
+ part = parts[partnum]
part_id = part['k']
final_url = self._url_for_id(part_id, quality)
ext = (final_url.split('?')[0]).split('.')[-1]
part_id = part['k']
final_url = self._url_for_id(part_id, quality)
ext = (final_url.split('?')[0]).split('.')[-1]
-
part_info =
{
+
return [
{
'id': '%s' % part_id,
'url': final_url,
'ext': ext,
'id': '%s' % part_id,
'url': final_url,
'ext': ext,
@@
-97,12
+99,13
@@
class TudouIE(InfoExtractor):
'http_headers': {
'Referer': self._PLAYER_URL,
},
'http_headers': {
'Referer': self._PLAYER_URL,
},
- }
- result.append(part_info)
+ }]
+
+ entries = InAdvancePagedList(part_func, len_parts, 1)
return {
'_type': 'multi_video',
return {
'_type': 'multi_video',
- 'entries':
result
,
+ 'entries':
entries
,
'id': video_id,
'title': title,
}
'id': video_id,
'title': title,
}