1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2025-07-09 14:58:32 +00:00

use 'filter' to make str.split works correctly

This commit is contained in:
Mozi 2024-11-24 05:16:04 +00:00
parent 8c987a0564
commit c3bd33ccb2

View File

@ -356,7 +356,7 @@ def _real_extract(self, url):
'channel': channel,
'channel_id': channel_id,
'channel_url': f'{uploader_url}/channels/{channel_id}-{channel}',
'genres': traverse_obj(attrs, ('data-genres', {str_or_none}, {lambda x: x.split(',')}), default=[]),
'genres': traverse_obj(attrs, ('data-genres', {str_or_none}, filter, {lambda x: x.split(',')}), default=[]),
'season_id': traverse_obj(attrs, ('data-season-id', {str_or_none})),
'season_name': traverse_obj(attrs, ('data-season-name', {str})),
'uploader': uploader,
@ -366,7 +366,7 @@ def _real_extract(self, url):
'duration': traverse_obj(attrs, ('data-video-duration', {str_to_int})),
'description': traverse_obj(attrs, ('data-video-description', {str})),
'availability': self._availability(needs_premium=(attrs.get('data-access-type') == 'premium')),
'tags': traverse_obj(attrs, ('data-video-tags', {str_or_none}, {lambda x: x.split(',')}), default=[]),
'tags': traverse_obj(attrs, ('data-video-tags', {str_or_none}, filter, {lambda x: x.split(',')}), default=[]),
'timestamp': traverse_obj(attrs, ('data-video-publish-date', {parse_iso8601(delimiter=' ')})),
'age_limit': (traverse_obj(attrs, ('data-adult', {lambda x: 18 if x == 'true' else 0}))
or traverse_obj(attrs, ('data-content-rating-option', {lambda x: remove_end(x, ' or more')}, {str_to_int}))),
@ -541,14 +541,14 @@ def _real_extract(self, url):
'title': attrs.get('data-video-title'),
'live_status': 'is_live',
'formats': formats,
'genres': traverse_obj(attrs, ('data-genres', {str_or_none}, {lambda x: x.split(',')}), default=[]),
'genres': traverse_obj(attrs, ('data-genres', {str_or_none}, filter, {lambda x: x.split(',')}), default=[]),
'uploader': uploader,
'uploader_id': traverse_obj(attrs, ('data-video-user-id', {str_or_none})),
'uploader_url': uploader_url,
'thumbnail': traverse_obj(attrs, ('data-video-image-url', {url_or_none})),
'description': traverse_obj(attrs, ('data-video-description', {str})),
'availability': self._availability(needs_premium=(attrs.get('data-access-type') == 'premium')),
'tags': traverse_obj(attrs, ('data-video-tags', {str_or_none}, {lambda x: x.split(',')}), default=[]),
'tags': traverse_obj(attrs, ('data-video-tags', {str_or_none}, filter, {lambda x: x.split(',')}), default=[]),
'age_limit': (traverse_obj(attrs, ('data-adult', {lambda x: 18 if x == 'true' else 0}))
or traverse_obj(attrs, ('data-content-rating-option', {lambda x: remove_end(x, ' or more')}, {str_to_int}))),
'like_count': int_or_none(stream_meta.get('like')),