Compare commits

...

2 Commits

Author SHA1 Message Date
Kyle Gonsalves 8d78a0f118 flake 2024-04-26 12:55:22 -07:00
Kyle Gonsalves 388bc9c97c suggestions 2024-04-26 12:47:09 -07:00
1 changed files with 15 additions and 14 deletions

View File

@ -17,7 +17,6 @@ from ..utils import (
int_or_none,
join_nonempty,
js_to_json,
merge_dicts,
parse_duration,
parse_iso8601,
parse_qs,
@ -1391,26 +1390,28 @@ class BBCIE(BBCCoUkIE): # XXX: Do not subclass from concrete IE
media_data = traverse_obj(simorgh_data, (
'pageData', 'promo', 'media',
{lambda x: x if x['id'] == block_id else None}))
formats = traverse_obj(media_data, ('playlist', lambda _, v: v['url'], {
formats = traverse_obj(media_data, ('playlist', lambda _, v: url_or_none(v['url']), {
'url': ('url', {url_or_none}),
'ext': ('format', {str}),
'tbr': ('bitrate', {k_int_or_none}),
}, {lambda u: u.get('url') and u}))
}))
if formats:
entry = merge_dicts({
entry = {
'id': block_id,
'display_id': playlist_id,
'formats': formats,
}, traverse_obj(simorgh_data, ('pageData', 'promo', {
'description': ('summary', {str}),
})), traverse_obj(model, {
'title': ('title', {str}),
'thumbnail': ('imageUrl', {lambda u: urljoin(url, u.replace('$recipe', 'raw'))}),
'description': (
'synopses', ('long', 'medium', 'short'), {str}, any),
'timestamp': ('firstPublished', {k_int_or_none}),
}),
)
**traverse_obj(simorgh_data, ('pageData', 'promo', {
'description': ('summary', {str}),
})),
**traverse_obj(model, {
'title': ('title', {str}),
'thumbnail': ('imageUrl', {lambda u: urljoin(url, u.replace('$recipe', 'raw'))}),
'description': (
'synopses', ('long', 'medium', 'short'), {str}, any
),
'timestamp': ('firstPublished', {k_int_or_none}),
}),
}
done = True
if entry:
entries.append(entry)