Ejemplo n.º 1
0
    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)