1
0
mirror of https://github.com/l1ving/youtube-dl synced 2024-12-21 17:53:11 +08:00

YoutubePlaylistIE: don't crash with empty lists (related #808)

The playlist_title wasn't initialized.
This commit is contained in:
Jaime Marquínez Ferrándiz 2013-04-27 10:41:52 +02:00
parent 3820df0106
commit aba8df23ed
2 changed files with 8 additions and 2 deletions

View File

@ -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()

View File

@ -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 ]