mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-27 03:03:01 +00:00
[tudou] Use InAdvancePagedList (closes #8884)
This commit is contained in:
parent
3c20208eff
commit
664bcd80b9
1 changed files with 9 additions and 6 deletions
|
@ -6,6 +6,7 @@
|
||||||
from ..compat import compat_str
|
from ..compat import compat_str
|
||||||
from ..utils import (
|
from ..utils import (
|
||||||
int_or_none,
|
int_or_none,
|
||||||
|
InAdvancePagedList,
|
||||||
float_or_none,
|
float_or_none,
|
||||||
unescapeHTML,
|
unescapeHTML,
|
||||||
)
|
)
|
||||||
|
@ -75,15 +76,16 @@ def _real_extract(self, url):
|
||||||
quality = sorted(filter(lambda k: k.isdigit(), segments.keys()),
|
quality = sorted(filter(lambda k: k.isdigit(), segments.keys()),
|
||||||
key=lambda k: int(k))[-1]
|
key=lambda k: int(k))[-1]
|
||||||
parts = segments[quality]
|
parts = segments[quality]
|
||||||
result = []
|
|
||||||
len_parts = len(parts)
|
len_parts = len(parts)
|
||||||
if len_parts > 1:
|
if len_parts > 1:
|
||||||
self.to_screen('%s: found %s parts' % (video_id, len_parts))
|
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']
|
part_id = part['k']
|
||||||
final_url = self._url_for_id(part_id, quality)
|
final_url = self._url_for_id(part_id, quality)
|
||||||
ext = (final_url.split('?')[0]).split('.')[-1]
|
ext = (final_url.split('?')[0]).split('.')[-1]
|
||||||
part_info = {
|
return [{
|
||||||
'id': '%s' % part_id,
|
'id': '%s' % part_id,
|
||||||
'url': final_url,
|
'url': final_url,
|
||||||
'ext': ext,
|
'ext': ext,
|
||||||
|
@ -97,12 +99,13 @@ def _real_extract(self, url):
|
||||||
'http_headers': {
|
'http_headers': {
|
||||||
'Referer': self._PLAYER_URL,
|
'Referer': self._PLAYER_URL,
|
||||||
},
|
},
|
||||||
}
|
}]
|
||||||
result.append(part_info)
|
|
||||||
|
entries = InAdvancePagedList(part_func, len_parts, 1)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'_type': 'multi_video',
|
'_type': 'multi_video',
|
||||||
'entries': result,
|
'entries': entries,
|
||||||
'id': video_id,
|
'id': video_id,
|
||||||
'title': title,
|
'title': title,
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue