diff --git a/test/test_download.py b/test/test_download.py index d6cc9ec330..73379beb19 100644 --- a/test/test_download.py +++ b/test/test_download.py @@ -149,7 +149,7 @@ def try_rm_tcs_files(): for key in ('id', 'url', 'title', 'ext'): self.assertTrue(key in info_dict.keys() and info_dict[key]) # Check for mandatory fields that are automatically set by YoutubeDL - for key in ['webpage_url', 'extractor']: + for key in ['webpage_url', 'extractor', 'extractor_key']: self.assertTrue(info_dict.get(key), u'Missing field: %s' % key) finally: try_rm_tcs_files() diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index 8938a2cd30..86a6fd043e 100644 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -357,7 +357,8 @@ def extract_info(self, url, download=True, ie_key=None, extra_info={}): self.add_extra_info(ie_result, { 'extractor': ie.IE_NAME, - 'webpage_url': url + 'webpage_url': url, + 'extractor_key': ie.ie_key(), }) return self.process_ie_result(ie_result, download, extra_info) except ExtractorError as de: # An error we somewhat expected @@ -421,6 +422,7 @@ def process_ie_result(self, ie_result, download=True, extra_info={}): 'playlist_index': i + playliststart, 'extractor': ie_result['extractor'], 'webpage_url': ie_result['webpage_url'], + 'extractor_key': ie_result['extractor_key'], } entry_result = self.process_ie_result(entry, download=download, @@ -434,6 +436,7 @@ def _fixup(r): { 'extractor': ie_result['extractor'], 'webpage_url': ie_result['webpage_url'], + 'extractor_key': ie_result['extractor_key'], }) return r ie_result['entries'] = [