Skip to content

Commit 9b234bb

Browse files
authored
Make link checking $schemas section and extension fields non-fatal. (#145)
1 parent 8752f87 commit 9b234bb

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

schema_salad/ref_resolver.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1031,7 +1031,10 @@ def validate_links(self, document, base_url, all_doc_ids):
10311031
all_doc_ids[document[identifier]] = sl.makeLead()
10321032
break
10331033
except validate.ValidationException as v:
1034-
errors.append(sl.makeError(six.text_type(v)))
1034+
if d == "$schemas":
1035+
_logger.warn( validate.indent(six.text_type(v)))
1036+
else:
1037+
errors.append(sl.makeError(six.text_type(v)))
10351038
if hasattr(document, "iteritems"):
10361039
iterator = six.iteritems(document)
10371040
else:
@@ -1044,7 +1047,9 @@ def validate_links(self, document, base_url, all_doc_ids):
10441047
try:
10451048
self.validate_links(val, docid, all_doc_ids)
10461049
except validate.ValidationException as v:
1047-
if key not in self.nolinkcheck:
1050+
if key in self.nolinkcheck or (isinstance(key, six.string_types) and ":" in key):
1051+
_logger.warn( validate.indent(six.text_type(v)))
1052+
else:
10481053
docid2 = self.getid(val)
10491054
if docid2 is not None:
10501055
errors.append(sl.makeError("checking object `%s`\n%s"
@@ -1056,8 +1061,6 @@ def validate_links(self, document, base_url, all_doc_ids):
10561061
else:
10571062
errors.append(sl.makeError("checking item\n%s" % (
10581063
validate.indent(six.text_type(v)))))
1059-
else:
1060-
_logger.warn( validate.indent(six.text_type(v)))
10611064
if bool(errors):
10621065
if len(errors) > 1:
10631066
raise validate.ValidationException(

0 commit comments

Comments
 (0)