def spans(self): if self.supports_chars: return [Span(pos, startchar=startchar, endchar=endchar) for pos, startchar, endchar in self.value_as("characters")] elif self.supports_poses: return [Span(pos) for pos in self.value_as("positions")] else: raise Exception("Field does not support positions (%r)" % self.fieldname)
def spans(self): """Returns a list of :class:`whoosh.spans.Span` objects for the matches in this document. Raises an exception if the field being searched does not store positions. """ from whoosh.spans import Span if self.supports("characters"): return [ Span(pos, startchar=startchar, endchar=endchar) for pos, startchar, endchar in self.value_as("characters") ] elif self.supports("positions"): return [Span(pos) for pos in self.value_as("positions")] else: raise Exception("Field does not support spans")