mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-12-01 03:43:02 +00:00
[extractor/soundcloud] Support user permalink (#5842)
Closes #5841 Authored by: nosoop
This commit is contained in:
parent
ca2f6e14e6
commit
e107c2b8cf
2 changed files with 22 additions and 0 deletions
|
@ -1710,6 +1710,7 @@
|
||||||
SoundcloudSetIE,
|
SoundcloudSetIE,
|
||||||
SoundcloudRelatedIE,
|
SoundcloudRelatedIE,
|
||||||
SoundcloudUserIE,
|
SoundcloudUserIE,
|
||||||
|
SoundcloudUserPermalinkIE,
|
||||||
SoundcloudTrackStationIE,
|
SoundcloudTrackStationIE,
|
||||||
SoundcloudPlaylistIE,
|
SoundcloudPlaylistIE,
|
||||||
SoundcloudSearchIE,
|
SoundcloudSearchIE,
|
||||||
|
|
|
@ -782,6 +782,27 @@ def _real_extract(self, url):
|
||||||
'%s (%s)' % (user['username'], resource.capitalize()))
|
'%s (%s)' % (user['username'], resource.capitalize()))
|
||||||
|
|
||||||
|
|
||||||
|
class SoundcloudUserPermalinkIE(SoundcloudPagedPlaylistBaseIE):
|
||||||
|
_VALID_URL = r'https?://api\.soundcloud\.com/users/(?P<id>\d+)'
|
||||||
|
IE_NAME = 'soundcloud:user:permalink'
|
||||||
|
_TESTS = [{
|
||||||
|
'url': 'https://api.soundcloud.com/users/30909869',
|
||||||
|
'info_dict': {
|
||||||
|
'id': '30909869',
|
||||||
|
'title': 'neilcic',
|
||||||
|
},
|
||||||
|
'playlist_mincount': 23,
|
||||||
|
}]
|
||||||
|
|
||||||
|
def _real_extract(self, url):
|
||||||
|
user_id = self._match_id(url)
|
||||||
|
user = self._download_json(
|
||||||
|
self._resolv_url(url), user_id, 'Downloading user info', headers=self._HEADERS)
|
||||||
|
|
||||||
|
return self._extract_playlist(
|
||||||
|
f'{self._API_V2_BASE}stream/users/{user["id"]}', str(user['id']), user.get('username'))
|
||||||
|
|
||||||
|
|
||||||
class SoundcloudTrackStationIE(SoundcloudPagedPlaylistBaseIE):
|
class SoundcloudTrackStationIE(SoundcloudPagedPlaylistBaseIE):
|
||||||
_VALID_URL = r'https?://(?:(?:www|m)\.)?soundcloud\.com/stations/track/[^/]+/(?P<id>[^/?#&]+)'
|
_VALID_URL = r'https?://(?:(?:www|m)\.)?soundcloud\.com/stations/track/[^/]+/(?P<id>[^/?#&]+)'
|
||||||
IE_NAME = 'soundcloud:trackstation'
|
IE_NAME = 'soundcloud:trackstation'
|
||||||
|
|
Loading…
Reference in a new issue