diff options
| author | Cory Hall <corydantehall@gmail.com> | 2019-01-31 20:51:37 -0500 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2019-02-02 23:40:22 +0700 | 
| commit | 6cc6e0c34d0f67747be7bac91690820f47b26acb (patch) | |
| tree | 6ffbbe8fd7179a78eeb8a2a03608c465bbcefce6 | |
| parent | b9bc1cff721b6f63e733c6ababeec45b92f1484b (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.py | 16 | 
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:  | 
