Get the title of Youtube playlists
This commit is contained in:
parent
e905b6f80e
commit
c72938240e
|
@ -45,6 +45,7 @@ class TestYoutubeLists(unittest.TestCase):
|
||||||
ie = YoutubePlaylistIE(dl)
|
ie = YoutubePlaylistIE(dl)
|
||||||
result = ie.extract('https://www.youtube.com/playlist?list=PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re')[0]
|
result = ie.extract('https://www.youtube.com/playlist?list=PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re')[0]
|
||||||
self.assertIsPlaylist(result)
|
self.assertIsPlaylist(result)
|
||||||
|
self.assertEqual(result['title'], 'ytdl test PL')
|
||||||
ytie_results = [YoutubeIE()._extract_id(url['url']) for url in result['entries']]
|
ytie_results = [YoutubeIE()._extract_id(url['url']) for url in result['entries']]
|
||||||
self.assertEqual(ytie_results, [ 'bV9L5Ht9LgY', 'FXxLjLQi3Fg', 'tU3Bgo5qJZE'])
|
self.assertEqual(ytie_results, [ 'bV9L5Ht9LgY', 'FXxLjLQi3Fg', 'tU3Bgo5qJZE'])
|
||||||
|
|
||||||
|
@ -52,6 +53,7 @@ class TestYoutubeLists(unittest.TestCase):
|
||||||
dl = FakeDownloader()
|
dl = FakeDownloader()
|
||||||
ie = YoutubePlaylistIE(dl)
|
ie = YoutubePlaylistIE(dl)
|
||||||
result = ie.extract('PLBB231211A4F62143')[0]
|
result = ie.extract('PLBB231211A4F62143')[0]
|
||||||
|
self.assertEqual(result['title'], 'Team Fortress 2')
|
||||||
self.assertTrue(len(result['entries']) > 40)
|
self.assertTrue(len(result['entries']) > 40)
|
||||||
|
|
||||||
def test_youtube_playlist_long(self):
|
def test_youtube_playlist_long(self):
|
||||||
|
|
|
@ -1801,6 +1801,8 @@ class YoutubePlaylistIE(InfoExtractor):
|
||||||
# Number of videos is a multiple of self._MAX_RESULTS
|
# Number of videos is a multiple of self._MAX_RESULTS
|
||||||
break
|
break
|
||||||
|
|
||||||
|
playlist_title = response['feed']['title']['$t']
|
||||||
|
|
||||||
videos += [ (entry['yt$position']['$t'], entry['content']['src'])
|
videos += [ (entry['yt$position']['$t'], entry['content']['src'])
|
||||||
for entry in response['feed']['entry']
|
for entry in response['feed']['entry']
|
||||||
if 'content' in entry ]
|
if 'content' in entry ]
|
||||||
|
@ -1812,7 +1814,7 @@ class YoutubePlaylistIE(InfoExtractor):
|
||||||
videos = [v[1] for v in sorted(videos)]
|
videos = [v[1] for v in sorted(videos)]
|
||||||
|
|
||||||
url_results = [self.url_result(url, 'Youtube') for url in 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):
|
class YoutubeChannelIE(InfoExtractor):
|
||||||
|
|
Loading…
Reference in New Issue