(self, ref, instance)
| 457 | raise exc from None |
| 458 | |
| 459 | def _validate_reference(self, ref, instance): |
| 460 | if self._ref_resolver is None: |
| 461 | try: |
| 462 | resolved = self._resolver.lookup(ref) |
| 463 | except referencing.exceptions.Unresolvable as err: |
| 464 | raise exceptions._WrappedReferencingError(err) from err |
| 465 | |
| 466 | return self.descend( |
| 467 | instance, |
| 468 | resolved.contents, |
| 469 | resolver=resolved.resolver, |
| 470 | ) |
| 471 | else: |
| 472 | resolve = getattr(self._ref_resolver, "resolve", None) |
| 473 | if resolve is None: |
| 474 | with self._ref_resolver.resolving(ref) as resolved: |
| 475 | return self.descend(instance, resolved) |
| 476 | else: |
| 477 | scope, resolved = resolve(ref) |
| 478 | self._ref_resolver.push_scope(scope) |
| 479 | |
| 480 | try: |
| 481 | return list(self.descend(instance, resolved)) |
| 482 | finally: |
| 483 | self._ref_resolver.pop_scope() |
| 484 | |
| 485 | def is_valid(self, instance, _schema=None): |
| 486 | if _schema is not None: |
no test coverage detected