mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-14 19:17:53 +01:00
Merge pull request #181 from pukkandan/precheck-archive
Check IDs in the archive before downloading webpage
This commit is contained in:
commit
63dcccd07c
@ -821,12 +821,22 @@ def extract_info(self, url, download=True, ie_key=None, info_dict=None, extra_in
|
|||||||
if not ie.suitable(url):
|
if not ie.suitable(url):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
ie = self.get_info_extractor(ie.ie_key())
|
ie_key = ie.ie_key()
|
||||||
|
ie = self.get_info_extractor(ie_key)
|
||||||
if not ie.working():
|
if not ie.working():
|
||||||
self.report_warning('The program functionality for this site has been marked as broken, '
|
self.report_warning('The program functionality for this site has been marked as broken, '
|
||||||
'and will probably not work.')
|
'and will probably not work.')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
try:
|
||||||
|
temp_id = ie.extract_id(url) if callable(getattr(ie, 'extract_id', None)) else ie._match_id(url)
|
||||||
|
except (AssertionError, IndexError):
|
||||||
|
temp_id = None
|
||||||
|
if temp_id is not None and self.in_download_archive({'id': temp_id, 'ie_key': ie_key}):
|
||||||
|
self.to_screen("[%s] %s: has already been recorded in archive" % (
|
||||||
|
ie_key, temp_id))
|
||||||
|
break
|
||||||
|
|
||||||
ie_result = ie.extract(url)
|
ie_result = ie.extract(url)
|
||||||
if ie_result is None: # Finished already (backwards compatibility; listformats and friends should be moved here)
|
if ie_result is None: # Finished already (backwards compatibility; listformats and friends should be moved here)
|
||||||
break
|
break
|
||||||
|
Loading…
Reference in New Issue
Block a user