Loading src/testjson/validator.py +6 −4 Original line number Diff line number Diff line Loading @@ -14,8 +14,8 @@ def recursively_find_refs(j) -> Generator[Tuple[str, str], None, None]: if isinstance(v, dict): yield from recursively_find_refs(v) def check_refs(schema: Validator, resolver: RefResolver) -> List[RefResolutionError]: refs = list(recursively_find_refs(schema.schema)) def check_refs(schema: dict, resolver: RefResolver) -> List[RefResolutionError]: refs = list(recursively_find_refs(schema)) errors = [] for key, ref in refs: try: Loading Loading @@ -64,7 +64,6 @@ def build_schema(core_schema_path: str | Path, supporting_schema_paths: Sequence else: logging.warning(f"Could not parse file {path} ({ex!r})") build_results.append(BuildResult(path, False, [ex])) # _schema_dict = _schema_dict | { s['$id'] : s for s in _supporting_schemas } logging.info(f"Loaded schema IDs: {[k for k in _schema_dict.keys()]}") _resolver = RefResolver(None, referrer=None, Loading @@ -72,12 +71,15 @@ def build_schema(core_schema_path: str | Path, supporting_schema_paths: Sequence logging.info("Created RefResolver") _validator = Draft202012Validator(_core_schema, resolver=_resolver) logging.info("Created validator") ref_errors = check_refs(_validator, _resolver) ref_errors = [] for schema in _supporting_schemas + [_validator.schema]: ref_errors += check_refs(schema, _resolver) if len(ref_errors) > 0: build_results.append(BuildResult(core_schema_path, False, ref_errors)) return None, build_results else: build_results.append(BuildResult(core_schema_path, True, [])) _validator.descend return _validator, build_results Loading Loading
src/testjson/validator.py +6 −4 Original line number Diff line number Diff line Loading @@ -14,8 +14,8 @@ def recursively_find_refs(j) -> Generator[Tuple[str, str], None, None]: if isinstance(v, dict): yield from recursively_find_refs(v) def check_refs(schema: Validator, resolver: RefResolver) -> List[RefResolutionError]: refs = list(recursively_find_refs(schema.schema)) def check_refs(schema: dict, resolver: RefResolver) -> List[RefResolutionError]: refs = list(recursively_find_refs(schema)) errors = [] for key, ref in refs: try: Loading Loading @@ -64,7 +64,6 @@ def build_schema(core_schema_path: str | Path, supporting_schema_paths: Sequence else: logging.warning(f"Could not parse file {path} ({ex!r})") build_results.append(BuildResult(path, False, [ex])) # _schema_dict = _schema_dict | { s['$id'] : s for s in _supporting_schemas } logging.info(f"Loaded schema IDs: {[k for k in _schema_dict.keys()]}") _resolver = RefResolver(None, referrer=None, Loading @@ -72,12 +71,15 @@ def build_schema(core_schema_path: str | Path, supporting_schema_paths: Sequence logging.info("Created RefResolver") _validator = Draft202012Validator(_core_schema, resolver=_resolver) logging.info("Created validator") ref_errors = check_refs(_validator, _resolver) ref_errors = [] for schema in _supporting_schemas + [_validator.schema]: ref_errors += check_refs(schema, _resolver) if len(ref_errors) > 0: build_results.append(BuildResult(core_schema_path, False, ref_errors)) return None, build_results else: build_results.append(BuildResult(core_schema_path, True, [])) _validator.descend return _validator, build_results Loading