From 97d6f13fe2d9cbef212697aa5eacc165333d46a7 Mon Sep 17 00:00:00 2001 From: "iccha.sethi" Date: Fri, 6 Sep 2013 12:14:25 -0400 Subject: [PATCH] Add description to exception messages Add description to exception messages, so users know how they violated the schema. --- warlock/model.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/warlock/model.py b/warlock/model.py index 1bc3f76..e026bbb 100644 --- a/warlock/model.py +++ b/warlock/model.py @@ -44,8 +44,9 @@ class Model(dict): mutation[key] = value try: self.validate(mutation) - except exceptions.ValidationError: - msg = "Unable to set '%s' to '%s'" % (key, value) + except exceptions.ValidationError as exc: + msg = ("Unable to set '%s' to '%s'. Reason: %s" + % (key, value, str(exc))) raise exceptions.InvalidOperation(msg) dict.__setitem__(self, key, value) @@ -57,8 +58,9 @@ class Model(dict): del mutation[key] try: self.validate(mutation) - except exceptions.ValidationError: - msg = "Unable to delete attribute '%s'" % (key) + except exceptions.ValidationError as exc: + msg = ("Unable to delete attribute '%s'. Reason: %s" + % (key, str(exc))) raise exceptions.InvalidOperation(msg) dict.__delitem__(self, key)