Retry http timeout errors

This commit is contained in:
Casper V. Kristensen 2022-05-08 15:13:49 +02:00
parent 5476352b53
commit 94b1617d7e

View file

@ -44,12 +44,16 @@ class Response:
def open(url: str, params: Mapping = None) -> Response:
if params is not None:
url += "?" + urllib.parse.urlencode(params)
request = Request(url)
request.add_header("User-Agent", HTTP_USER_AGENT)
http_response = urllib.request.urlopen(request, timeout=HTTP_TIMEOUT)
return Response(http_response)
while True:
try:
if params is not None:
url += "?" + urllib.parse.urlencode(params)
request = Request(url)
request.add_header("User-Agent", HTTP_USER_AGENT)
http_response = urllib.request.urlopen(request, timeout=HTTP_TIMEOUT)
return Response(http_response)
except TimeoutError as e:
logger.exception("Timeout", exc_info=e)
def download_zip(url: str, dest: Path) -> None: