From a1cf99d03a6a842aa4e53c211c9f38dd27db5971 Mon Sep 17 00:00:00 2001 From: Philipp Hagemeister Date: Sun, 9 Nov 2014 22:32:26 +0100 Subject: [PATCH] [YoutubeDL] Add playlist_id and playlist_title fields (Fixes #4139) --- youtube_dl/YoutubeDL.py | 2 ++ youtube_dl/extractor/youtube.py | 1 + youtube_dl/options.py | 6 ++++-- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index 172180d14..9fdeb4cfb 100755 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -658,6 +658,8 @@ class YoutubeDL(object): extra = { 'n_entries': n_entries, 'playlist': playlist, + 'playlist_id': ie_result.get('id'), + 'playlist_title': ie_result.get('title'), 'playlist_index': i + playliststart, 'extractor': ie_result['extractor'], 'webpage_url': ie_result['webpage_url'], diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index c77d4056f..5406de50b 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -1043,6 +1043,7 @@ class YoutubePlaylistIE(YoutubeBaseInfoExtractor): 'url': 'https://www.youtube.com/playlist?list=PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re', 'info_dict': { 'title': 'ytdl test PL', + 'id': 'PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re', }, 'playlist_count': 3, }, { diff --git a/youtube_dl/options.py b/youtube_dl/options.py index cdcf2f62c..c182abfdc 100644 --- a/youtube_dl/options.py +++ b/youtube_dl/options.py @@ -490,10 +490,12 @@ def parseOpts(overrideArguments=None): '%(format_id)s for the unique id of the format (like Youtube\'s itags: "137"), ' '%(upload_date)s for the upload date (YYYYMMDD), ' '%(extractor)s for the provider (youtube, metacafe, etc), ' - '%(id)s for the video id, %(playlist)s for the playlist the video is in, ' - '%(playlist_index)s for the position in the playlist and %% for a literal percent. ' + '%(id)s for the video id, ' + '%(playlist_title)s, %(playlist_id)s, or %(playlist)s (=title if present, ID otherwise) for the playlist the video is in, ' + '%(playlist_index)s for the position in the playlist. ' '%(height)s and %(width)s for the width and height of the video format. ' '%(resolution)s for a textual description of the resolution of the video format. ' + '%% for a literal percent. ' 'Use - to output to stdout. Can also be used to download to a different directory, ' 'for example with -o \'/my/downloads/%(uploader)s/%(title)s-%(id)s.%(ext)s\' .')) filesystem.add_option(