summaryrefslogtreecommitdiff
path: root/morphlib/morphloader.py
diff options
context:
space:
mode:
Diffstat (limited to 'morphlib/morphloader.py')
-rw-r--r--morphlib/morphloader.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/morphlib/morphloader.py b/morphlib/morphloader.py
index 9601784c..8c20d9ed 100644
--- a/morphlib/morphloader.py
+++ b/morphlib/morphloader.py
@@ -54,11 +54,12 @@ class InvalidFieldError(morphlib.Error):
self.msg = (
'Field %s not allowed in morphology %s' % (field, morphology))
-class ObsoleteFieldError(morphlib.Error):
+class ObsoleteFieldsError(morphlib.Error):
- def __init__(self, field, morphology):
- self.msg = (
- 'Field %s is now obsolete but present in %s' % (field, morphology))
+ def __init__(self, fields, morphology):
+ self.msg = (
+ 'Morphology %s uses obsolete fields: %s' %
+ (morphology, ' '.join(fields)))
class UnknownArchitectureError(morphlib.Error):
@@ -307,9 +308,9 @@ class MorphologyLoader(object):
self._require_field(field, morphology)
def _deny_obsolete_fields(self, fields, morphology):
- for field in morphology:
- if field in fields:
- raise ObsoleteFieldError(field, morphology.filename)
+ obsolete_ones = [x for x in morphology if x in fields]
+ if obsolete_ones:
+ raise ObsoleteFieldsError(obsolete_ones, morphology.filename)
def _deny_unknown_fields(self, allowed, morphology):
for field in morphology: