]> jfr.im git - yt-dlp.git/commitdiff
[web.archive:youtube] Make CDX API requests non-fatal
authorcoletdjnz <redacted>
Sat, 2 Apr 2022 06:07:13 +0000 (19:07 +1300)
committercoletdjnz <redacted>
Sat, 2 Apr 2022 06:07:13 +0000 (19:07 +1300)
Partial fix for https://github.com/yt-dlp/yt-dlp/issues/3278
Authored-by: coletdjnz
yt_dlp/extractor/archiveorg.py

index 2a25c0713fb515c135048a70460a51499462a4ce..b06ac74aedfcfb4e0981129fcb653b709d92e5bd 100644 (file)
@@ -457,7 +457,7 @@ class YoutubeWebArchiveIE(InfoExtractor):
     _OLDEST_CAPTURE_DATE = 20050214000000
     _NEWEST_CAPTURE_DATE = 20500101000000
 
-    def _call_cdx_api(self, item_id, url, filters: list = None, collapse: list = None, query: dict = None, note='Downloading CDX API JSON'):
+    def _call_cdx_api(self, item_id, url, filters: list = None, collapse: list = None, query: dict = None, note=None, fatal=False):
         # CDX docs: https://github.com/internetarchive/wayback/blob/master/wayback-cdx-server/README.md
         query = {
             'url': url,
@@ -468,7 +468,9 @@ def _call_cdx_api(self, item_id, url, filters: list = None, collapse: list = Non
             'collapse': collapse or [],
             **(query or {})
         }
-        res = self._download_json('https://web.archive.org/cdx/search/cdx', item_id, note, query=query)
+        res = self._download_json(
+            'https://web.archive.org/cdx/search/cdx', item_id,
+            note or 'Downloading CDX API JSON', query=query, fatal=fatal)
         if isinstance(res, list) and len(res) >= 2:
             # format response to make it easier to use
             return list(dict(zip(res[0], v)) for v in res[1:])