def has_chapter(self, ref, mod=None): assert self.is_verse_keyed, "Calling has_chapter for non-verse keyed module." module = mod or self.mod if module is None: return False vk = VK(ref) if module.hasEntry(vk): return True vk.setVerse(1) if module.hasEntry(vk): return True module.setKey(vk) try: old_mod_skiplinks = module.getSkipConsecutiveLinks() module.setSkipConsecutiveLinks(True) module.increment() next_vk = VK.castTo(module.getKey()) return (next_vk.Book() == vk.Book() and next_vk.Chapter() == vk.Chapter() and next_vk.Testament() == vk.Testament()) and not self.has_error(module) finally: module.setSkipConsecutiveLinks(old_mod_skiplinks)