diff options
| -rw-r--r-- | test/test_youtube_lists.py | 7 | ||||
| -rwxr-xr-x | youtube_dl/InfoExtractors.py | 3 | 
2 files changed, 8 insertions, 2 deletions
diff --git a/test/test_youtube_lists.py b/test/test_youtube_lists.py index c7f00af32..b11e6ccaa 100644 --- a/test/test_youtube_lists.py +++ b/test/test_youtube_lists.py @@ -71,6 +71,13 @@ class TestYoutubeLists(unittest.TestCase):          ytie_results = [YoutubeIE()._extract_id(url['url']) for url in result['entries']]          self.assertFalse('pElCt5oNDuI' in ytie_results)          self.assertFalse('KdPEApIVdWM' in ytie_results) +         +    def test_youtube_playlist_empty(self): +        dl = FakeDownloader() +        ie = YoutubePlaylistIE(dl) +        result = ie.extract('https://www.youtube.com/playlist?list=PLtPgu7CB4gbZDA7i_euNxn75ISqxwZPYx')[0] +        self.assertIsPlaylist(result) +        self.assertEqual(len(result['entries']), 0)      def test_youtube_course(self):          dl = FakeDownloader() diff --git a/youtube_dl/InfoExtractors.py b/youtube_dl/InfoExtractors.py index 3450f0d17..967f6a100 100755 --- a/youtube_dl/InfoExtractors.py +++ b/youtube_dl/InfoExtractors.py @@ -1723,12 +1723,11 @@ class YoutubePlaylistIE(InfoExtractor):              if 'feed' not in response:                  self._downloader.report_error(u'Got a malformed response from YouTube API')                  return +            playlist_title = response['feed']['title']['$t']              if 'entry' not in response['feed']:                  # Number of videos is a multiple of self._MAX_RESULTS                  break -            playlist_title = response['feed']['title']['$t'] -              videos += [ (entry['yt$position']['$t'], entry['content']['src'])                          for entry in response['feed']['entry']                          if 'content' in entry ]  | 
