From c28d9c751dd4b49ecb8bb41a69d9cd6bd65bf45b Mon Sep 17 00:00:00 2001 From: Stefan Reimer Date: Fri, 5 Jul 2019 11:02:10 +0000 Subject: [PATCH] Fix for custom root dir --- CHANGES.md | 3 +++ cloudbender/__init__.py | 2 +- cloudbender/cli.py | 9 ++++++++- cloudbender/core.py | 2 +- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 7b7995d..018ef07 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,8 @@ # Changelog +## 0.6.2 +- Fixed custom root directory to allow automated template tests + ## 0.6.1 - Add support for onfailure for create stack, defaults to DELETE diff --git a/cloudbender/__init__.py b/cloudbender/__init__.py index e6baf92..71c46d8 100644 --- a/cloudbender/__init__.py +++ b/cloudbender/__init__.py @@ -2,7 +2,7 @@ import logging __author__ = "Stefan Reimer" __email__ = "stefan@zero-downtimet.net" -__version__ = "0.6.1" +__version__ = "0.6.2" # Set up logging to ``/dev/null`` like a library is supposed to. diff --git a/cloudbender/cli.py b/cloudbender/cli.py index c93c1d2..0d8df5a 100644 --- a/cloudbender/cli.py +++ b/cloudbender/cli.py @@ -20,8 +20,15 @@ logger = logging.getLogger(__name__) def cli(ctx, debug, directory): setup_logging(debug) + # Make sure our root is abs + if directory: + if not os.path.isabs(directory): + directory = os.path.normpath(os.path.join(os.getcwd(), directory)) + else: + directory = os.getcwd() + # Read global config - cb = CloudBender(directory if directory else os.getcwd()) + cb = CloudBender(directory) cb.read_config() cb.dump_config() diff --git a/cloudbender/core.py b/cloudbender/core.py index f10d8f5..a1b3ef9 100644 --- a/cloudbender/core.py +++ b/cloudbender/core.py @@ -21,7 +21,7 @@ class CloudBender(object): "artifact_paths": [os.path.join(self.root, "artifacts")] } - if not os.path.isdir(self.root): + if not os.path.isdir(self.ctx['config_path']): raise "Check '{0}' exists and is a valid project folder.".format(root_path) def read_config(self):