aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCory Hall <corydantehall@gmail.com>2019-01-31 20:51:37 -0500
committerSergey M․ <dstftw@gmail.com>2019-02-02 23:40:22 +0700
commit6cc6e0c34d0f67747be7bac91690820f47b26acb (patch)
tree6ffbbe8fd7179a78eeb8a2a03608c465bbcefce6
parentb9bc1cff721b6f63e733c6ababeec45b92f1484b (diff)
[soundcloud:pagedplaylist] Add ie and title to entries (#19022)
rel: https://github.com/rg3/youtube-dl/issues/19022
-rw-r--r--youtube_dl/extractor/soundcloud.py16
1 files changed, 9 insertions, 7 deletions
diff --git a/youtube_dl/extractor/soundcloud.py b/youtube_dl/extractor/soundcloud.py
index 13463ae4f..1c8d3c53b 100644
--- a/youtube_dl/extractor/soundcloud.py
+++ b/youtube_dl/extractor/soundcloud.py
@@ -395,18 +395,20 @@ class SoundcloudPagedPlaylistBaseIE(SoundcloudPlaylistBaseIE):
# Empty collection may be returned, in this case we proceed
# straight to next_href
- def resolve_permalink_url(candidates):
- for cand in candidates:
+ def append_url_result(entries, item):
+ for cand in (item, item.get('track'), item.get('playlist')):
if isinstance(cand, dict):
permalink_url = cand.get('permalink_url')
- entry_id = self._extract_id(cand)
if permalink_url and permalink_url.startswith('http'):
- return permalink_url, entry_id
+ return entries.append(
+ self.url_result(
+ permalink_url,
+ ie=SoundcloudIE.ie_key() if SoundcloudIE.suitable(permalink_url) else None,
+ video_id=self._extract_id(cand),
+ video_title=cand.get('title')))
for e in collection:
- permalink_url, entry_id = resolve_permalink_url((e, e.get('track'), e.get('playlist')))
- if permalink_url:
- entries.append(self.url_result(permalink_url, video_id=entry_id))
+ append_url_result(entries, e)
next_href = response.get('next_href')
if not next_href: