The validator gives a giant, illegible error message when a string field accidentally contains a list. For instance, I tried to use
contactPerson:
- /person/p.bos
instead of
contactPerson: /person/p.bos
This gave the error below. Note that it also doesn't mention the file in which the error was generated, making it even harder to track the error down.
Traceback (most recent call last):
File "/home/patrick/miniconda2/envs/software.nlesc/bin/estep", line 9, in <module>
load_entry_point('estep==1.0.0', 'console_scripts', 'estep')()
File "build/bdist.linux-x86_64/egg/estep/script.py", line 309, in main
File "build/bdist.linux-x86_64/egg/estep/script.py", line 114, in validate
File "build/bdist.linux-x86_64/egg/estep/script.py", line 89, in validate_document
File "build/bdist.linux-x86_64/egg/estep/validate.py", line 48, in iter_errors
File "build/bdist.linux-x86_64/egg/estep/schema.py", line 154, in iter_errors
File "/home/patrick/miniconda2/envs/software.nlesc/lib/python2.7/site-packages/jsonschema/validators.py", line 98, in iter_errors
for error in errors:
File "/home/patrick/miniconda2/envs/software.nlesc/lib/python2.7/site-packages/jsonschema/_validators.py", line 291, in properties_draft4
schema_path=property,
File "/home/patrick/miniconda2/envs/software.nlesc/lib/python2.7/site-packages/jsonschema/validators.py", line 114, in descend
for error in self.iter_errors(instance, schema):
File "/home/patrick/miniconda2/envs/software.nlesc/lib/python2.7/site-packages/jsonschema/validators.py", line 98, in iter_errors
for error in errors:
File "/home/patrick/miniconda2/envs/software.nlesc/lib/python2.7/site-packages/jsonschema/_validators.py", line 351, in anyOf_draft4
errs = list(validator.descend(instance, subschema, schema_path=index))
File "/home/patrick/miniconda2/envs/software.nlesc/lib/python2.7/site-packages/jsonschema/validators.py", line 114, in descend
for error in self.iter_errors(instance, schema):
File "/home/patrick/miniconda2/envs/software.nlesc/lib/python2.7/site-packages/jsonschema/validators.py", line 98, in iter_errors
for error in errors:
File "/home/patrick/miniconda2/envs/software.nlesc/lib/python2.7/site-packages/jsonschema/_validators.py", line 150, in format
validator.format_checker.check(instance, format)
File "/home/patrick/miniconda2/envs/software.nlesc/lib/python2.7/site-packages/jsonschema/_format.py", line 74, in check
result = func(instance)
File "build/bdist.linux-x86_64/egg/estep/schema.py", line 110, in url_ref
File "build/bdist.linux-x86_64/egg/estep/utils.py", line 99, in parse_url
File "/home/patrick/miniconda2/envs/software.nlesc/lib/python2.7/site-packages/rfc3987.py", line 453, in parse
m = match(string, rule)
File "/home/patrick/miniconda2/envs/software.nlesc/lib/python2.7/site-packages/rfc3987.py", line 417, in match
return get_compiled_pattern('^%%(%s)s$' % rule).match(string)
TypeError: expected string or buffer
The validator gives a giant, illegible error message when a string field accidentally contains a list. For instance, I tried to use
instead of
This gave the error below. Note that it also doesn't mention the file in which the error was generated, making it even harder to track the error down.