Răsfoiți Sursa

Get the title of Youtube playlists

Jaime Marquínez Ferrándiz 12 ani în urmă
părinte
comite
c72938240e
2 a modificat fișierele cu 5 adăugiri și 1 ștergeri
  1. 2 0
      test/test_youtube_lists.py
  2. 3 1
      youtube_dl/InfoExtractors.py

+ 2 - 0
test/test_youtube_lists.py

@@ -45,6 +45,7 @@ class TestYoutubeLists(unittest.TestCase):
         ie = YoutubePlaylistIE(dl)
         result = ie.extract('https://www.youtube.com/playlist?list=PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re')[0]
         self.assertIsPlaylist(result)
+        self.assertEqual(result['title'], 'ytdl test PL')
         ytie_results = [YoutubeIE()._extract_id(url['url']) for url in result['entries']]
         self.assertEqual(ytie_results, [ 'bV9L5Ht9LgY', 'FXxLjLQi3Fg', 'tU3Bgo5qJZE'])
 
@@ -52,6 +53,7 @@ class TestYoutubeLists(unittest.TestCase):
         dl = FakeDownloader()
         ie = YoutubePlaylistIE(dl)
         result = ie.extract('PLBB231211A4F62143')[0]
+        self.assertEqual(result['title'], 'Team Fortress 2')
         self.assertTrue(len(result['entries']) > 40)
 
     def test_youtube_playlist_long(self):

+ 3 - 1
youtube_dl/InfoExtractors.py

@@ -1801,6 +1801,8 @@ class YoutubePlaylistIE(InfoExtractor):
                 # 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 ]
@@ -1812,7 +1814,7 @@ class YoutubePlaylistIE(InfoExtractor):
         videos = [v[1] for v in sorted(videos)]
 
         url_results = [self.url_result(url, 'Youtube') for url in videos]
-        return [self.playlist_result(url_results, playlist_id)]
+        return [self.playlist_result(url_results, playlist_id, playlist_title)]
 
 
 class YoutubeChannelIE(InfoExtractor):