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: def open(url: str, params: Mapping = None) -> Response:
if params is not None: while True:
url += "?" + urllib.parse.urlencode(params) try:
request = Request(url) if params is not None:
request.add_header("User-Agent", HTTP_USER_AGENT) url += "?" + urllib.parse.urlencode(params)
http_response = urllib.request.urlopen(request, timeout=HTTP_TIMEOUT) request = Request(url)
return Response(http_response) 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: def download_zip(url: str, dest: Path) -> None: