From becfa584c97eea3b06da282caf1c85cc3c899381 Mon Sep 17 00:00:00 2001 From: Denis Lehmann Date: Sun, 1 May 2022 12:45:25 +0200 Subject: [PATCH] error handling --- raincloud/directory_handler.py | 8 +++++++- raincloud/raincloud.py | 5 ++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/raincloud/directory_handler.py b/raincloud/directory_handler.py index 266b95e..e73c501 100644 --- a/raincloud/directory_handler.py +++ b/raincloud/directory_handler.py @@ -32,7 +32,13 @@ class DirectoryHandler: config_parser = configparser.ConfigParser() config_parser.read(path) + if not "raincloud" in config_parser: + raise RaincloudIOException( + f"Malformed configuration file in directory '{directory}'" + ) + parsed_config = dict(config_parser["raincloud"]) + config["hashed_password"] = ( parsed_config["hashed_password"] if "hashed_password" in parsed_config @@ -50,7 +56,7 @@ class DirectoryHandler: return config else: - raise RaincloudIOException("No raincloud directory") + raise RaincloudIOException(f"No raincloud directory '{directory}'") def get_files(self, directory): """Get files from directory.""" diff --git a/raincloud/raincloud.py b/raincloud/raincloud.py index 27bb955..694f255 100755 --- a/raincloud/raincloud.py +++ b/raincloud/raincloud.py @@ -104,7 +104,10 @@ def create_app(base_path, cloud_name="raincloud"): abort(403) except RaincloudIOException as e: - print(e) + print(f"RaincloudIOException: {e}") + abort(404) + except Exception as e: + print(f"Unhandled exception: {e}") abort(404) return app