mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2025-03-09 12:50:23 -05:00
traverse_obj rewrite
This commit is contained in:
parent
0445a5fcc6
commit
def349faf6
1 changed files with 14 additions and 13 deletions
|
@ -260,20 +260,21 @@ def _extract_single(self, media_data):
|
||||||
self._merge_subtitles(subs, target=subtitles)
|
self._merge_subtitles(subs, target=subtitles)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'id': media_data['id'],
|
'id': traverse_obj(media_data, 'id'),
|
||||||
'title': media_data.get('name'),
|
'title': traverse_obj(media_data, 'name'),
|
||||||
'description': media_data.get('descriptionLong') or media_data.get('description'),
|
'description': traverse_obj(media_data, 'descriptionLong') or traverse_obj(media_data, 'description'),
|
||||||
'genres': media_data.get('contentTypes'),
|
'genres': traverse_obj(media_data, 'contentTypes'),
|
||||||
'creators': media_data.get('directors'),
|
'creators': traverse_obj(media_data, 'directors'),
|
||||||
'cast': media_data.get('mainCast'),
|
'cast': traverse_obj(media_data, 'mainCast'),
|
||||||
'location': media_data.get('productionCountries'),
|
'location': traverse_obj(media_data, 'productionCountries'),
|
||||||
'release_year': int_or_none(media_data.get('year')[:4]) if media_data.get('year') else None,
|
'release_year': int_or_none(traverse_obj(media_data, 'year', lambda x: x[:4])),
|
||||||
'thumbnails': thumbnails,
|
'thumbnails': thumbnails,
|
||||||
'duration': int_or_none(media_data.get('duration')),
|
'duration': int_or_none(traverse_obj(media_data, 'duration')),
|
||||||
'formats': formats,
|
'formats': formats,
|
||||||
'subtitles': subtitles,
|
'subtitles': subtitles,
|
||||||
'series': media_data.get('seriesName'),
|
'series': traverse_obj(media_data, 'seriesName'),
|
||||||
'season_number': int_or_none(media_data.get('seasonNumber')),
|
'season_number': int_or_none(traverse_obj(media_data, 'seasonNumber')),
|
||||||
'episode': media_data.get('name') if media_data.get('episodeNumber') else None,
|
'episode': traverse_obj(media_data, 'name') if traverse_obj(media_data, 'episodeNumber') else None,
|
||||||
'episode_number': int_or_none(media_data.get('episodeNumber')),
|
'episode_number': int_or_none(traverse_obj(media_data, 'episodeNumber')),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue