Skip to content

Commit

Permalink
[YoutubeDL] Fallback to ie_key of matching extractor while making dow…
Browse files Browse the repository at this point in the history
…nload archive id when no explicit ie_key is provided (#19022)
  • Loading branch information
dstftw committed Feb 1, 2019
1 parent b6423e6 commit e9fef7e
Showing 1 changed file with 13 additions and 7 deletions.
20 changes: 13 additions & 7 deletions youtube_dl/YoutubeDL.py
Original file line number Diff line number Diff line change
Expand Up @@ -2060,23 +2060,29 @@ def post_process(self, filename, ie_info):
self.report_warning('Unable to remove downloaded original file')

def _make_archive_id(self, info_dict):
video_id = info_dict.get('id')
if not video_id:
return
# Future-proof against any change in case
# and backwards compatibility with prior versions
extractor = info_dict.get('extractor_key')
if extractor is None:
if 'id' in info_dict:
extractor = info_dict.get('ie_key') # key in a playlist
extractor = info_dict.get('extractor_key') or info_dict.get('ie_key') # key in a playlist
if extractor is None:
return None # Incomplete video information
return extractor.lower() + ' ' + info_dict['id']
# Try to find matching extractor for the URL and take its ie_key
for ie in self._ies:
if ie.suitable(info_dict['url']):
extractor = ie.ie_key()
break
else:
return
return extractor.lower() + ' ' + video_id

def in_download_archive(self, info_dict):
fn = self.params.get('download_archive')
if fn is None:
return False

vid_id = self._make_archive_id(info_dict)
if vid_id is None:
if not vid_id:
return False # Incomplete video information

try:
Expand Down

0 comments on commit e9fef7e

Please sign in to comment.