diff --git a/gallery_dl/downloader/http.py b/gallery_dl/downloader/http.py index f14af249..e977320f 100644 --- a/gallery_dl/downloader/http.py +++ b/gallery_dl/downloader/http.py @@ -100,13 +100,6 @@ class HttpDownloader(DownloaderBase): adjust_extension = kwdict.get( "_http_adjust_extension", self.adjust_extension) - codes = kwdict.get("_http_retry_codes") - if codes: - retry_codes = list(self.retry_codes) - retry_codes += codes - else: - retry_codes = self.retry_codes - if self.part and not metadata: pathfmt.part_enable(self.partdir) @@ -167,7 +160,10 @@ class HttpDownloader(DownloaderBase): break else: msg = "'{} {}' for '{}'".format(code, response.reason, url) - if code in retry_codes or 500 <= code < 600: + if code in self.retry_codes or 500 <= code < 600: + continue + retry = kwdict.get("_http_retry") + if retry and retry(response): continue self.log.warning(msg) return False diff --git a/gallery_dl/extractor/nitter.py b/gallery_dl/extractor/nitter.py index f9c6abfc..f5248397 100644 --- a/gallery_dl/extractor/nitter.py +++ b/gallery_dl/extractor/nitter.py @@ -59,10 +59,7 @@ class NitterExtractor(BaseExtractor): if url[0] == "/": url = self.root + url - file = { - "url": url, - "_http_retry_codes": (404,), - } + file = {"url": url, "_http_retry": _retry_on_404} file["filename"], _, file["extension"] = \ name.rpartition(".") append(file) @@ -468,3 +465,7 @@ class NitterTweetExtractor(NitterExtractor): quoted["user"] = tweet["user"] return (tweet, quoted) return (tweet,) + + +def _retry_on_404(response): + return response.status_code == 404