diff options
author | Richard Ipsum <richard.ipsum@codethink.co.uk> | 2014-05-07 11:36:17 +0100 |
---|---|---|
committer | Richard Ipsum <richard.ipsum@codethink.co.uk> | 2014-05-07 12:14:09 +0100 |
commit | cdc16e7a7696e0ca9dda7715e0a5eb227448b26e (patch) | |
tree | 46cc7f9772174cf29463196d4ea3a33d2f2468cc /morphlib | |
parent | f23b51aaa0dff06c7926e803b0f09103c60147a4 (diff) | |
download | morph-cdc16e7a7696e0ca9dda7715e0a5eb227448b26e.tar.gz |
A more useful morphology syntax error message
There's no longer any need to log the exception separately,
it will be logged with the MorphologySyntaxError
Diffstat (limited to 'morphlib')
-rw-r--r-- | morphlib/morphloader.py | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/morphlib/morphloader.py b/morphlib/morphloader.py index cd005fae..f6d21837 100644 --- a/morphlib/morphloader.py +++ b/morphlib/morphloader.py @@ -41,8 +41,8 @@ class MorphologyObsoleteFieldWarning(UserWarning): class MorphologySyntaxError(morphlib.Error): - def __init__(self, morphology): - self.msg = 'Syntax error in morphology %s' % morphology + def __init__(self, morphology, errmsg): + self.msg = 'Syntax error in morphology %s:\n%s' % (morphology, errmsg) class NotADictionaryError(morphlib.Error): @@ -344,8 +344,7 @@ class MorphologyLoader(object): try: obj = yaml.safe_load(text) except yaml.error.YAMLError as e: - logging.error('Could not load morphology as YAML:\n%s' % str(e)) - raise MorphologySyntaxError(whence) + raise MorphologySyntaxError(whence, e) if not isinstance(obj, dict): raise NotADictionaryError(whence) |