It's the string returned by the class method 'ie_key', which allows to retrieve the extractor with 'get_info_extractor'
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 ('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()
self.assertTrue(info_dict.get(key), u'Missing field: %s' % key)
finally:
try_rm_tcs_files()
self.add_extra_info(ie_result,
{
'extractor': ie.IE_NAME,
self.add_extra_info(ie_result,
{
'extractor': ie.IE_NAME,
+ '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
})
return self.process_ie_result(ie_result, download, extra_info)
except ExtractorError as de: # An error we somewhat expected
'playlist_index': i + playliststart,
'extractor': ie_result['extractor'],
'webpage_url': ie_result['webpage_url'],
'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,
}
entry_result = self.process_ie_result(entry,
download=download,
{
'extractor': ie_result['extractor'],
'webpage_url': ie_result['webpage_url'],
{
'extractor': ie_result['extractor'],
'webpage_url': ie_result['webpage_url'],
+ 'extractor_key': ie_result['extractor_key'],
})
return r
ie_result['entries'] = [
})
return r
ie_result['entries'] = [