From 0c29bfbc8b7336405259170f5cf94b66a9245d4d Mon Sep 17 00:00:00 2001 From: Scott K Logan Date: Fri, 18 Oct 2024 19:17:39 -0500 Subject: [PATCH] Fix load_url retry for binary streams This is a pretty old bug in the original binary stream implementation. Fixes 8f4121c19b1e5fbb6ceab03673a781ec2716534a --- src/rosdistro/loader.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rosdistro/loader.py b/src/rosdistro/loader.py index 96fbc28e..0603fd6c 100644 --- a/src/rosdistro/loader.py +++ b/src/rosdistro/loader.py @@ -44,13 +44,13 @@ def load_url(url, retry=2, retry_period=1, timeout=10, skip_decode=False): except HTTPError as e: if e.code in [500, 502, 503] and retry: time.sleep(retry_period) - return load_url(url, retry=retry - 1, retry_period=retry_period, timeout=timeout) + return load_url(url, retry=retry - 1, retry_period=retry_period, timeout=timeout, skip_decode=skip_decode) e.msg += ' (%s)' % url raise except URLError as e: if isinstance(e.reason, socket.timeout) and retry: time.sleep(retry_period) - return load_url(url, retry=retry - 1, retry_period=retry_period, timeout=timeout) + return load_url(url, retry=retry - 1, retry_period=retry_period, timeout=timeout, skip_decode=skip_decode) raise URLError(str(e) + ' (%s)' % url) except socket.timeout as e: raise socket.timeout(str(e) + ' (%s)' % url)