diff options
author | Richard Ipsum <richard.ipsum@codethink.co.uk> | 2014-06-24 17:21:54 +0100 |
---|---|---|
committer | Richard Ipsum <richard.ipsum@codethink.co.uk> | 2014-06-24 17:47:12 +0100 |
commit | 04781d234377b2a7a1f5aa3ca16b30ea0911b729 (patch) | |
tree | b5f60b5c91bd383de86918bd3d2ca2d0caa1fcb0 | |
parent | c894d6e153d7803e8f4639c2697c0c592a460980 (diff) | |
download | morph-04781d234377b2a7a1f5aa3ca16b30ea0911b729.tar.gz |
Fix duplicate names error message
This error message didn't report the cluster morph at fault.
We also fix a minor formatting issue.
-rw-r--r-- | morphlib/morphloader.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/morphlib/morphloader.py b/morphlib/morphloader.py index b5c8168d..6937a427 100644 --- a/morphlib/morphloader.py +++ b/morphlib/morphloader.py @@ -207,11 +207,12 @@ class MultipleValidationErrors(morphlib.Error): class DuplicateDeploymentNameError(morphlib.Error): - def __init__(self, duplicates): + def __init__(self, cluster_filename, duplicates): self.duplicates = duplicates - morphlib.Error.__init__( - self, 'Cluster morphology contains the following non-unique ' - 'deployment names:\n%s' % '\n '.join(duplicates)) + self.cluster_filename = cluster_filename + morphlib.Error.__init__(self, + 'Cluster %s contains the following duplicate deployment names:%s' + % (cluster_filename, '\n ' + '\n '.join(duplicates))) class OrderedDumper(yaml.SafeDumper): @@ -430,7 +431,7 @@ class MorphologyLoader(object): duplicates = set(deployment for deployment, count in deployments.iteritems() if count > 1) if duplicates: - raise DuplicateDeploymentNameError(duplicates) + raise DuplicateDeploymentNameError(morph.filename, duplicates) def _get_subsystem_names(self, system): # pragma: no cover for subsystem in system.get('subsystems', []): |