From 0bc66a9d16bcb7763b10005e6c0c362aea1a2b94 Mon Sep 17 00:00:00 2001 From: Vinicius Moreira Date: Thu, 14 Dec 2023 14:17:57 -0300 Subject: [PATCH] [view.core] fix: not handling exceptions when downloading a file --- bauh/view/core/downloader.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/bauh/view/core/downloader.py b/bauh/view/core/downloader.py index c29905a8..612cba49 100644 --- a/bauh/view/core/downloader.py +++ b/bauh/view/core/downloader.py @@ -73,11 +73,16 @@ class SelfFileDownloader(FileDownloader): known_size = content_length and content_length > 0 total_size_str = get_human_size_str(content_length) if known_size > 0 else "?" - for data in res.iter_content(chunk_size=1024): - byte_stream.write(data) - total_downloaded += len(data) - perc = f"({(total_downloaded / content_length) * 100:.2f}%) " if known_size > 0 else "" - watcher.change_substatus(f"{perc}{base_msg} ({get_human_size_str(total_downloaded)} / {total_size_str})") + try: + for data in res.iter_content(chunk_size=1024): + byte_stream.write(data) + total_downloaded += len(data) + perc = f"({(total_downloaded / content_length) * 100:.2f}%) " if known_size > 0 else "" + watcher.change_substatus(f"{perc}{base_msg} ({get_human_size_str(total_downloaded)} / {total_size_str})") + except Exception: + self._logger.error(f"Unexpected exception while downloading file from '{file_url}'") + traceback.print_exc() + return False self._logger.info(f"Writing downloaded file content to disk: {output_path}")