1
0
Fork 0
mirror of https://github.com/yt-dlp/yt-dlp synced 2025-01-31 12:32:27 +01:00

Add track field

This commit is contained in:
7x11x13 2025-01-03 23:12:18 -05:00
parent a7bde7271d
commit 4b52c27a17

View file

@ -372,6 +372,7 @@ class SoundcloudBaseIE(InfoExtractor):
'repost_count': extract_count('reposts'), 'repost_count': extract_count('reposts'),
'genres': traverse_obj(info, ('genre', {str}, filter, all, filter)), 'genres': traverse_obj(info, ('genre', {str}, filter, all, filter)),
'artists': traverse_obj(info, ('publisher_metadata', 'artist', {str}, filter, all, filter)), 'artists': traverse_obj(info, ('publisher_metadata', 'artist', {str}, filter, all, filter)),
'track': info.get('title'),
'formats': formats if not extract_flat else None, 'formats': formats if not extract_flat else None,
} }
@ -423,6 +424,7 @@ class SoundcloudIE(SoundcloudBaseIE):
'repost_count': int, 'repost_count': int,
'thumbnail': 'https://i1.sndcdn.com/artworks-000031955188-rwb18x-original.jpg', 'thumbnail': 'https://i1.sndcdn.com/artworks-000031955188-rwb18x-original.jpg',
'uploader_url': 'https://soundcloud.com/ethmusic', 'uploader_url': 'https://soundcloud.com/ethmusic',
'track': 'Lostin Powers - She so Heavy (SneakPreview) Adrian Ackers Blueprint 1',
}, },
}, },
# geo-restricted # geo-restricted
@ -447,6 +449,7 @@ class SoundcloudIE(SoundcloudBaseIE):
'thumbnail': 'https://i1.sndcdn.com/artworks-v8bFHhXm7Au6-0-original.jpg', 'thumbnail': 'https://i1.sndcdn.com/artworks-v8bFHhXm7Au6-0-original.jpg',
'genres': ['Alternative'], 'genres': ['Alternative'],
'artists': ['The Royal Concept'], 'artists': ['The Royal Concept'],
'track': 'Goldrushed',
}, },
}, },
# private link # private link
@ -471,6 +474,7 @@ class SoundcloudIE(SoundcloudBaseIE):
'uploader_url': 'https://soundcloud.com/jaimemf', 'uploader_url': 'https://soundcloud.com/jaimemf',
'thumbnail': 'https://a1.sndcdn.com/images/default_avatar_large.png', 'thumbnail': 'https://a1.sndcdn.com/images/default_avatar_large.png',
'genres': ['youtubedl'], 'genres': ['youtubedl'],
'track': 'Youtube - Dl Test Video \'\' Ä↭',
}, },
}, },
# private link (alt format) # private link (alt format)
@ -495,6 +499,7 @@ class SoundcloudIE(SoundcloudBaseIE):
'uploader_url': 'https://soundcloud.com/jaimemf', 'uploader_url': 'https://soundcloud.com/jaimemf',
'thumbnail': 'https://a1.sndcdn.com/images/default_avatar_large.png', 'thumbnail': 'https://a1.sndcdn.com/images/default_avatar_large.png',
'genres': ['youtubedl'], 'genres': ['youtubedl'],
'track': 'Youtube - Dl Test Video \'\' Ä↭',
}, },
}, },
# downloadable song # downloadable song
@ -520,6 +525,7 @@ class SoundcloudIE(SoundcloudBaseIE):
'view_count': int, 'view_count': int,
'genres': ['Dance & EDM'], 'genres': ['Dance & EDM'],
'artists': ['80M'], 'artists': ['80M'],
'track': 'The Following',
}, },
}, },
# private link, downloadable format # private link, downloadable format
@ -545,6 +551,7 @@ class SoundcloudIE(SoundcloudBaseIE):
'uploader_url': 'https://soundcloud.com/oriuplift', 'uploader_url': 'https://soundcloud.com/oriuplift',
'genres': ['Trance'], 'genres': ['Trance'],
'artists': ['Ori Uplift'], 'artists': ['Ori Uplift'],
'track': 'Uplifting Only 238 [No Talking] (incl. Alex Feed Guestmix) (Aug 31, 2017) [wav]',
}, },
}, },
# no album art, use avatar pic for thumbnail # no album art, use avatar pic for thumbnail
@ -569,6 +576,7 @@ class SoundcloudIE(SoundcloudBaseIE):
'repost_count': int, 'repost_count': int,
'uploader_url': 'https://soundcloud.com/garyvee', 'uploader_url': 'https://soundcloud.com/garyvee',
'artists': ['MadReal'], 'artists': ['MadReal'],
'track': 'Sideways (Prod. Mad Real)',
}, },
'params': { 'params': {
'skip_download': True, 'skip_download': True,
@ -595,6 +603,7 @@ class SoundcloudIE(SoundcloudBaseIE):
'repost_count': int, 'repost_count': int,
'genres': ['Piano'], 'genres': ['Piano'],
'uploader_url': 'https://soundcloud.com/giovannisarani', 'uploader_url': 'https://soundcloud.com/giovannisarani',
'track': 'Mezzo Valzer',
}, },
}, },
{ {
@ -672,8 +681,11 @@ class SoundcloudPlaylistBaseIE(SoundcloudBaseIE):
entries, playlist_id, entries, playlist_id,
playlist.get('title'), playlist.get('title'),
playlist.get('description'), playlist.get('description'),
uploader=traverse_obj(playlist, ('user', 'username')), **traverse_obj(playlist, {
uploader_id=str_or_none(traverse_obj(playlist, ('user', 'id')))) 'uploader': ('user', 'username', {str}),
'uploader_id': ('user', 'id', {str_or_none}),
}),
)
class SoundcloudSetIE(SoundcloudPlaylistBaseIE): class SoundcloudSetIE(SoundcloudPlaylistBaseIE):