From 21533bb78ce24359eb638991f3ec79a572a4a555 Mon Sep 17 00:00:00 2001 From: Ali Parlakci Date: Tue, 24 Jul 2018 19:27:52 +0300 Subject: [PATCH] Improved exception handling --- script.py | 36 ++++++++++++++++++++++++++++-------- src/downloader.py | 20 +++++++++++++++++--- 2 files changed, 45 insertions(+), 11 deletions(-) diff --git a/script.py b/script.py index fd97735..a40c878 100644 --- a/script.py +++ b/script.py @@ -546,12 +546,26 @@ def download(submissions): sys.exit() except ImgurLimitError as exception: - FAILED_FILE.add({int(i+1):[str(exception),submissions[i]]}) + FAILED_FILE.add({int(i+1):[ + "{class_name}: {info}".format( + class_name=exception.__class__.__name__,info=str(exception) + ), + submissions[i] + ]}) downloadedCount -= 1 except NotADownloadableLinkError as exception: - print(exception) - FAILED_FILE.add({int(i+1):[str(exception),submissions[i]]}) + print( + "{class_name}: {info}".format( + class_name=exception.__class__.__name__,info=str(exception) + ) + ) + FAILED_FILE.add({int(i+1):[ + "{class_name}: {info}".format( + class_name=exception.__class__.__name__,info=str(exception) + ), + submissions[i] + ]}) downloadedCount -= 1 except NoSuitablePost: @@ -560,8 +574,17 @@ def download(submissions): except Exception as exception: # raise exception - print(exception) - FAILED_FILE.add({int(i+1):[str(exception),submissions[i]]}) + print( + "{class_name}: {info}".format( + class_name=exception.__class__.__name__,info=str(exception) + ) + ) + FAILED_FILE.add({int(i+1):[ + "{class_name}: {info}".format( + class_name=exception.__class__.__name__,info=str(exception) + ), + submissions[i] + ]}) downloadedCount -= 1 if duplicates: @@ -587,9 +610,6 @@ def main(): checkConflicts() except ProgramModeError as err: PromptUser() - except Exception as err: - print(err) - sys.exit() if not Path(GLOBAL.configDirectory).is_dir(): os.makedirs(GLOBAL.configDirectory) diff --git a/src/downloader.py b/src/downloader.py index 705e259..55eb370 100644 --- a/src/downloader.py +++ b/src/downloader.py @@ -139,9 +139,16 @@ class Erome: howManyDownloaded -= 1 except Exception as exception: - raise exception + # raise exception print("\n Could not get the file") - print(" " + str(exception) + "\n") + print( + " " + + "{class_name}: {info}".format( + class_name=exception.__class__.__name__, + info=str(exception) + ) + + "\n" + ) exceptionType = exception howManyDownloaded -= 1 @@ -290,7 +297,14 @@ class Imgur: except Exception as exception: print("\n Could not get the file") - print(" " + str(exception) + "\n") + print( + " " + + "{class_name}: {info}".format( + class_name=exception.__class__.__name__, + info=str(exception) + ) + + "\n" + ) exceptionType = exception howManyDownloaded -= 1