[downloader:http] change '_http_retry' to accept a Python function

and rename '_http_retry_codes' to '_http_retry'

(#3569)
This commit is contained in:
Mike Fährmann
2023-03-09 23:30:15 +01:00
parent 175822e065
commit 67ec91cdbd
2 changed files with 9 additions and 12 deletions

View File

@@ -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