[core] be able to hand over id and title using url_result

This commit is contained in:
Unknown 2020-10-29 01:56:55 +01:00
parent ddb77f30ee
commit 0704d2224b
2 changed files with 8 additions and 3 deletions

View file

@ -801,7 +801,7 @@ class YoutubeDL(object):
for key, value in extra_info.items(): for key, value in extra_info.items():
info_dict.setdefault(key, value) info_dict.setdefault(key, value)
def extract_info(self, url, download=True, ie_key=None, extra_info={}, def extract_info(self, url, download=True, ie_key=None, info_dict=None, extra_info={},
process=True, force_generic_extractor=False): process=True, force_generic_extractor=False):
''' '''
Returns a list with a dictionary for each video we find. Returns a list with a dictionary for each video we find.
@ -836,6 +836,11 @@ class YoutubeDL(object):
'_type': 'compat_list', '_type': 'compat_list',
'entries': ie_result, 'entries': ie_result,
} }
if info_dict:
if info_dict.get('id'):
ie_result['id'] = info_dict['id']
if info_dict.get('title'):
ie_result['title'] = info_dict['title']
self.add_default_extra_info(ie_result, ie, url) self.add_default_extra_info(ie_result, ie, url)
if process: if process:
return self.process_ie_result(ie_result, download, extra_info) return self.process_ie_result(ie_result, download, extra_info)
@ -898,7 +903,7 @@ class YoutubeDL(object):
# We have to add extra_info to the results because it may be # We have to add extra_info to the results because it may be
# contained in a playlist # contained in a playlist
return self.extract_info(ie_result['url'], return self.extract_info(ie_result['url'],
download, download, info_dict=ie_result,
ie_key=ie_result.get('ie_key'), ie_key=ie_result.get('ie_key'),
extra_info=extra_info) extra_info=extra_info)
elif result_type == 'url_transparent': elif result_type == 'url_transparent':

View file

@ -332,7 +332,7 @@ class BandcampAlbumIE(BandcampBaseIE):
entries = [ entries = [
self.url_result( self.url_result(
compat_urlparse.urljoin(url, track['title_link']), compat_urlparse.urljoin(url, track['title_link']),
ie=BandcampIE.ie_key(), ie=BandcampIE.ie_key(), video_id=track['id'],
video_title=track['title']) video_title=track['title'])
for track in tracks for track in tracks
if track.get('duration')] if track.get('duration')]