More user friendly error message.

This commit is contained in:
Roland Hedberg
2014-03-28 09:39:36 +01:00
parent 692aaac27c
commit 2db8008701

View File

@@ -93,10 +93,8 @@ def filter_on_attributes(ava, required=None, optional=None, acs=None):
if required is None:
required = []
nform = "friendly_name"
for attr in required:
found = False
nform = ""
for nform in ["friendly_name", "name"]:
try:
_name = attr[nform]
except KeyError:
@@ -107,18 +105,21 @@ def filter_on_attributes(ava, required=None, optional=None, acs=None):
continue
_fn = _match(_name, ava)
if not _fn: # In the unlikely case that someone has provided us
# with URIs as attribute names
_fn = _match(attr["name"], ava)
if _fn:
try:
values = [av["text"] for av in attr["attribute_value"]]
except KeyError:
values = []
res[_fn] = _filter_values(ava[_fn], values, True)
found = True
break
if not found:
raise MissingValue("Required attribute missing: '%s'" % (
attr[nform],))
continue
else:
desc = "Required attribute missing: '%s' (%s)" % (attr["name"],
_name)
raise MissingValue(desc)
if optional is None:
optional = []