def query(self, parser): fieldname = self.fieldname or parser.fieldname start = self.start end = self.end if parser.schema and fieldname in parser.schema: field = parser.schema[fieldname] if field.self_parsing(): try: q = field.parse_range(fieldname, start, end, self.startexcl, self.endexcl, boost=self.boost) if q is not None: return attach(q, self) except QueryParserError: e = sys.exc_info()[1] return attach(query.error_query(e), self) if start: start = get_single_text(field, start, tokenize=False, removestops=False) if end: end = get_single_text(field, end, tokenize=False, removestops=False) q = query.TermRange(fieldname, start, end, self.startexcl, self.endexcl, boost=self.boost) return attach(q, self)
def query(self, parser): fieldname = self.fieldname or parser.fieldname start, end = self.start, self.end if parser.schema and fieldname in parser.schema: field = parser.schema[fieldname] if field.self_parsing(): try: rangeq = field.parse_range(fieldname, start, end, self.startexcl, self.endexcl, boost=self.boost) if rangeq is not None: return rangeq except QueryParserError, e: return query.NullQuery if start: start = get_single_text(field, start, tokenize=False, removestops=False) if end: end = get_single_text(field, end, tokenize=False, removestops=False)