mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2026-05-27 09:41:12 +00:00
make storyboard extraction non-fatal
This commit is contained in:
parent
a032d2b0d5
commit
43c6c434ae
@ -113,13 +113,15 @@ class BilibiliBaseIE(InfoExtractor):
|
|||||||
'aid': aid,
|
'aid': aid,
|
||||||
'bvid': bvid,
|
'bvid': bvid,
|
||||||
'cid': cid,
|
'cid': cid,
|
||||||
})), ('data', {lambda v: v if v['image'] and v['index'] else None})):
|
})), ('data', {lambda v: v if v.get('image') and v.get('index') else None})):
|
||||||
rows, cols = traverse_obj(storyboard_info, (('img_x_len', 'img_y_len'),))
|
rows, cols = storyboard_info.get('img_x_len'), storyboard_info.get('img_y_len')
|
||||||
fragments = []
|
fragments = []
|
||||||
last_duration = 0.0
|
last_duration = 0.0
|
||||||
for i, url in enumerate(storyboard_info['image'], start=1):
|
for i, url in enumerate(storyboard_info['image'], start=1):
|
||||||
duration_index = i * rows * cols - 1
|
if not rows or not cols:
|
||||||
if duration_index < len(storyboard_info['index']) - 1:
|
fragments.append({'url': sanitize_url(url)})
|
||||||
|
continue
|
||||||
|
elif (duration_index := i * rows * cols - 1) < len(storyboard_info['index']) - 1:
|
||||||
current_duration = traverse_obj(storyboard_info, ('index', duration_index))
|
current_duration = traverse_obj(storyboard_info, ('index', duration_index))
|
||||||
else:
|
else:
|
||||||
current_duration = duration
|
current_duration = duration
|
||||||
@ -127,7 +129,7 @@ class BilibiliBaseIE(InfoExtractor):
|
|||||||
break
|
break
|
||||||
fragments.append({
|
fragments.append({
|
||||||
'url': sanitize_url(url),
|
'url': sanitize_url(url),
|
||||||
'duration': current_duration - last_duration,
|
'duration': current_duration - last_duration if current_duration is not None else None,
|
||||||
})
|
})
|
||||||
if fragments:
|
if fragments:
|
||||||
return {
|
return {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user