def testSimpleIntervals(): #yesterday, yesteray-year ago td_yesterday = timedelta(days=1) td_week = timedelta(days=7) td_month = timedelta(days=30) td_year = timedelta(days=365) time_now = datetime.utcnow() time_start = time_now - td_year time_end = time_now time_yesterday = time_now - td_yesterday time_week = time_now - td_week time_month = time_now - td_month time_year = time_now - td_year tree = IntervalNode(get_seconds(time_start)-1, get_seconds(time_end)+1) tree.insert(get_seconds(time_yesterday), get_seconds(time_now), other="Today") tree.insert(get_seconds(time_week), get_seconds(time_yesterday), other ="week-yesterday") tree.insert(get_seconds(time_month), get_seconds(time_week), other ="month-week") tree.insert(get_seconds(time_year), get_seconds(time_month), other ="year-month") res = [] time_check = time_week tree.intersect(get_seconds(time_check)-1, get_seconds(time_check), lambda x: res.append(x.other)) print res
def testSimpleIntervals(self): #yesterday, yesteray-year ago td_yesterday = timedelta(days=1) td_year = timedelta(days=365) time_now = datetime.utcnow() time_start = datetime.utcnow() - td_year time_end = datetime.utcnow() time_yesterday = datetime.utcnow() - td_yesterday tree = IntervalNode(time_start.toordinal(), time_end.toordinal()) tree.insert(time_yesterday.toordinal(), time_now.toordinal(), other="From Yesterday") tree.insert((time_yesterday - timedelta(days=7)).toordinal(), time_yesterday.toordinal(), other ="Yesterday, week") tree.insert(time_start.toordinal(), (time_yesterday - timedelta(days=7)).toordinal(), other ="Yesterday, week") tree.intersect(time_now.utcnow().toordinal(), time_now.utcnow().toordinal(), report_schedule) #yesterday, day before, day before that, till forever #yesterday, day before, nothing pass