in qpid/validator.py [0:0]
def validate(self, o, ctx):
errors = []
if not hasattr(o, "get"):
return "%s is not a map" % o
ctx.push(o)
for k, t in self.map.items():
v = o.get(k)
if v is not None:
err = t.validate(v, ctx)
if err: errors.append("%s: %s" % (k, err))
if self.restricted:
for k in o:
if not k in self.map:
errors.append("%s: illegal key" % k)
ctx.pop()
if errors:
return ", ".join(errors)