diff --git a/download-model.py b/download-model.py index c38e79fb..1681509f 100644 --- a/download-model.py +++ b/download-model.py @@ -190,17 +190,17 @@ class ModelDownloader: headers = {} mode = 'wb' - if output_path.exists() and not start_from_scratch: - # Resume download - r = session.get(url, stream=True, timeout=20) - total_size = int(r.headers.get('content-length', 0)) - if output_path.stat().st_size >= total_size: - return - - headers = {'Range': f'bytes={output_path.stat().st_size}-'} - mode = 'ab' - try: + if output_path.exists() and not start_from_scratch: + # Resume download + r = session.get(url, stream=True, timeout=20) + total_size = int(r.headers.get('content-length', 0)) + if output_path.stat().st_size >= total_size: + return + + headers = {'Range': f'bytes={output_path.stat().st_size}-'} + mode = 'ab' + with session.get(url, stream=True, headers=headers, timeout=30) as r: r.raise_for_status() # If status is not 2xx, raise an error total_size = int(r.headers.get('content-length', 0))