From 10b0cff5068759c1c725d31cbdc8fedd83f3bbdf Mon Sep 17 00:00:00 2001 From: Sorin Sbarnea Date: Fri, 19 Mar 2021 13:21:59 +0000 Subject: [PATCH] Assure project_dir is always valid Avoid case where project_dir could endup being None. --- src/ansiblelint/cli.py | 7 +++++-- src/ansiblelint/config.py | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/ansiblelint/cli.py b/src/ansiblelint/cli.py index af76a91f3e2..6c3e9b747a7 100644 --- a/src/ansiblelint/cli.py +++ b/src/ansiblelint/cli.py @@ -377,15 +377,18 @@ def get_config(arguments: List[str]) -> Namespace: options.rulesdirs = get_rules_dirs(options.rulesdir, options.use_default_rules) - if not options.project_dir: + if options.project_dir == ".": project_dir = os.path.dirname( os.path.abspath( options.config_file or f"{guess_project_dir()}/.ansible-lint" ) ) options.project_dir = normpath(project_dir) + if not os.path.exists(options.project_dir): + raise RuntimeError( + f"Failed to determine a valid project_dir: {options.project_dir}" + ) - # print(666, options.quiet, options.verbosity) # Compute final verbosity level by subtracting -q counter. options.verbosity -= options.quiet return config diff --git a/src/ansiblelint/config.py b/src/ansiblelint/config.py index 1ffb2b30f1d..2ff68905e85 100644 --- a/src/ansiblelint/config.py +++ b/src/ansiblelint/config.py @@ -72,7 +72,7 @@ mock_roles=[], loop_var_prefix=None, offline=False, - project_dir=None, + project_dir=".", # default should be valid folder (do not use None here) extra_vars=None, enable_list=[], skip_action_validation=True,