def range_to_dt(self, node): start = end = None dp = self.dateparser.get_parser() if node.start: start = dp.date_from(node.start, self.basedate) if start is None: return self.errorize(node.start, node) if node.end: end = dp.date_from(node.end, self.basedate) if end is None: return self.errorize(node.end, node) if start and end: ts = timespan(start, end).disambiguated(self.basedate) start, end = ts.start, ts.end elif start: start = start.disambiguated(self.basedate) if isinstance(start, timespan): start = start.start elif end: end = end.disambiguated(self.basedate) if isinstance(end, timespan): end = end.end drn = DateRangeNode(node.fieldname, start, end, boost=node.boost) drn.startchar = node.startchar drn.endchar = node.endchar return drn
def dates_to_timespan(self, dates): if self.fn: return self.fn(dates) elif len(dates) == 2: return timespan(dates[0], dates[1]) else: raise DateParseError("Don't know what to do with %r" % (dates, ))
def dates_to_timespan(self, dates): if self.fn: return self.fn(dates) elif len(dates) == 2: return timespan(dates[0], dates[1]) else: raise DateParseError("Don't know what to do with %r" % (dates,))