summaryrefslogtreecommitdiffstats
path: root/jenkins_jobs/config.py
diff options
context:
space:
mode:
authorPhilip Marc Schwartz <philip@progmad.com>2016-07-27 14:09:43 -0400
committerWayne Warren <waynr+launchpad@sdf.org>2016-08-05 11:34:58 -0700
commit0988c9932746b08245b2d1410c37239b8924e247 (patch)
treea57e01de5176847ce7ab5d4d5f577d644588fc19 /jenkins_jobs/config.py
parenta88104422e80a3d3fafb48360411fafffe46e86b (diff)
downloadpython-jenkins-job-builder-0988c9932746b08245b2d1410c37239b8924e247.tar.gz
python-jenkins-job-builder-0988c9932746b08245b2d1410c37239b8924e247.tar.xz
python-jenkins-job-builder-0988c9932746b08245b2d1410c37239b8924e247.zip
Correct configuration file usage.
This corrects the issue where a config file in a standard location is not used if --conf <file> is not passed on the command line. Change-Id: I4a17d342f2751359381658a545441465d4a42a9b Signed-off-by: Philip Marc Schwartz <philip@progmad.com>
Diffstat (limited to 'jenkins_jobs/config.py')
-rw-r--r--jenkins_jobs/config.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/jenkins_jobs/config.py b/jenkins_jobs/config.py
index 9823508f..a494bc4c 100644
--- a/jenkins_jobs/config.py
+++ b/jenkins_jobs/config.py
@@ -50,6 +50,9 @@ authtoken=dummy
send-as=Jenkins
"""
+CONFIG_REQUIRED_MESSAGE = ("A valid configuration file is required. "
+ "No configuration file passed.")
+
class JJBConfig(object):
@@ -90,8 +93,7 @@ class JJBConfig(object):
conf = None
if config_filename is not None:
conf = config_filename
-
- elif config_file_required:
+ else:
if os.path.isfile(local_conf):
conf = local_conf
elif os.path.isfile(user_conf):
@@ -99,13 +101,16 @@ class JJBConfig(object):
else:
conf = global_conf
+ if config_file_required and conf is None:
+ raise JJBConfigException(CONFIG_REQUIRED_MESSAGE)
+
config_fp = None
if conf is not None:
try:
config_fp = self._read_config_file(conf)
- except JJBConfigException as e:
+ except JJBConfigException:
if config_file_required:
- raise e
+ raise JJBConfigException(CONFIG_REQUIRED_MESSAGE)
else:
logger.warn("Config file, {0}, not found. Using default "
"config values.".format(conf))