diff options
author | Julian Berman <Julian@GrayVines.com> | 2023-04-27 10:48:40 -0400 |
---|---|---|
committer | Julian Berman <Julian@GrayVines.com> | 2023-04-27 10:48:40 -0400 |
commit | 16fef5b641e82a88f71f50657e29ae8a827969a5 (patch) | |
tree | 7afce825d17db495883609282c1ad13642e57727 /jsonschema/validators.py | |
parent | cd88c1d6704fc17d83b0494bab29db2034573eeb (diff) | |
download | jsonschema-16fef5b641e82a88f71f50657e29ae8a827969a5.tar.gz |
Fix an additional unintentional resolution scope change in RefResolverv4.18.0a6
Closes: #1085
Diffstat (limited to 'jsonschema/validators.py')
-rw-r--r-- | jsonschema/validators.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/jsonschema/validators.py b/jsonschema/validators.py index 5b16fdc..262113b 100644 --- a/jsonschema/validators.py +++ b/jsonschema/validators.py @@ -387,11 +387,14 @@ def create( ) return - if resolver is None: - resolver = self._resolver.in_subresource( - specification.create_resource(schema), - ) - evolved = self.evolve(schema=schema, _resolver=resolver) + if self._ref_resolver is not None: + evolved = self.evolve(schema=schema) + else: + if resolver is None: + resolver = self._resolver.in_subresource( + specification.create_resource(schema), + ) + evolved = self.evolve(schema=schema, _resolver=resolver) for k, v in applicable_validators(schema): validator = evolved.VALIDATORS.get(k) @@ -448,7 +451,7 @@ def create( self._ref_resolver.push_scope(scope) try: - return self.descend(instance, resolved) + return list(self.descend(instance, resolved)) finally: self._ref_resolver.pop_scope() |