def resolve(self, pointer): try: dp = DocumentPointer(pointer) if dp.is_inner(): logger.debug('resolve inner %s', pointer) return self.factory.local(self.registry.resolve(pointer), pointer, self.registry, self.spec) logger.debug('resolve outside %s', pointer) return self.factory(self.registry.resolve(pointer), pointer, self.spec) except ExtractError as error: raise CompilationError({}, error)
def test_inner_document(self): dp = DocumentPointer('#/foo') assert dp.is_inner() assert dp.document == '' assert dp.pointer == '/foo'
def test_document(self): dp = DocumentPointer('example.com#/foo') assert not dp.is_inner() assert dp.document == 'example.com' assert dp.pointer == '/foo'