projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[tvigle] Add support for cloud URLs (Closes #4887)
[youtube-dl]
/
youtube_dl
/
extractor
/
soundcloud.py
diff --git
a/youtube_dl/extractor/soundcloud.py
b/youtube_dl/extractor/soundcloud.py
index 3c1d058db9cf546bb94a299d9f1badd79fab12d3..c5284fa673b7eda4f74191fba6a788df39939a51 100644
(file)
--- a/
youtube_dl/extractor/soundcloud.py
+++ b/
youtube_dl/extractor/soundcloud.py
@@
-5,11
+5,12
@@
import re
import itertools
from .common import InfoExtractor
import itertools
from .common import InfoExtractor
-from ..
utils
import (
+from ..
compat
import (
compat_str,
compat_urlparse,
compat_urllib_parse,
compat_str,
compat_urlparse,
compat_urllib_parse,
-
+)
+from ..utils import (
ExtractorError,
int_or_none,
unified_strdate,
ExtractorError,
int_or_none,
unified_strdate,
@@
-32,7
+33,7
@@
class SoundcloudIE(InfoExtractor):
(?P<title>[\w\d-]+)/?
(?P<token>[^?]+?)?(?:[?].*)?$)
|(?:api\.soundcloud\.com/tracks/(?P<track_id>\d+)
(?P<title>[\w\d-]+)/?
(?P<token>[^?]+?)?(?:[?].*)?$)
|(?:api\.soundcloud\.com/tracks/(?P<track_id>\d+)
- (?:/?\?secret_token=(?P<secret_token>[^&]+
?))?$
)
+ (?:/?\?secret_token=(?P<secret_token>[^&]+
))?
)
|(?P<player>(?:w|player|p.)\.soundcloud\.com/player/?.*?url=.*)
)
'''
|(?P<player>(?:w|player|p.)\.soundcloud\.com/player/?.*?url=.*)
)
'''
@@
-245,6
+246,7
@@
class SoundcloudSetIE(SoundcloudIE):
_TESTS = [{
'url': 'https://soundcloud.com/the-concept-band/sets/the-royal-concept-ep',
'info_dict': {
_TESTS = [{
'url': 'https://soundcloud.com/the-concept-band/sets/the-royal-concept-ep',
'info_dict': {
+ 'id': '2284613',
'title': 'The Royal Concept EP',
},
'playlist_mincount': 6,
'title': 'The Royal Concept EP',
},
'playlist_mincount': 6,
@@
-278,7
+280,7
@@
class SoundcloudSetIE(SoundcloudIE):
return {
'_type': 'playlist',
'entries': [self._extract_info_dict(track, secret_token=token) for track in info['tracks']],
return {
'_type': 'playlist',
'entries': [self._extract_info_dict(track, secret_token=token) for track in info['tracks']],
- 'id': info['id'],
+ 'id':
'%s' %
info['id'],
'title': info['title'],
}
'title': info['title'],
}