diff --git a/backend.py b/backend.py index 33ee949..a5cc0bc 100644 --- a/backend.py +++ b/backend.py @@ -109,45 +109,30 @@ class EventResource(BaseEvent): def relative_time(self, when, cur): event_start = cur.mogrify("%s",(when,)).decode("utf-8") - event_stop = cur.mogrify("%s",(when,)).decode("utf-8") + event_stop = cur.mogrify("%s",(when,)).decode("utf-8") if when == 'NOW': event_start = "now()" - event_stop = "now()" + event_stop = "now()" if when == 'TODAY': event_start = "CURRENT_DATE" - event_stop = "CURRENT_DATE + INTERVAL '1 DAY'" + event_stop = "CURRENT_DATE + INTERVAL '1 DAY'" if when == 'TOMORROW': event_start = "CURRENT_DATE + INTERVAL '1 DAY'" - event_stop = "CURRENT_DATE + INTERVAL '2 DAY'" + event_stop = "CURRENT_DATE + INTERVAL '2 DAY'" if when == 'YESTERDAY': event_start = "CURRENT_DATE - INTERVAL '1 DAY'" - event_stop = "CURRENT_DATE" - if when == 'NEXTWEEK': - event_start = "CURRENT_DATE" - event_stop = "CURRENT_DATE + INTERVAL '7 DAY'" - if when == 'LASTWEEK': - event_start = "CURRENT_DATE - INTERVAL '7 DAY'" - event_stop = "CURRENT_DATE" - if when == 'NEXTHOUR': - when = 'NEXT1HOURS' - if re.search('NEXT[0-9]*HOURS',when): - event_start = "now()" - event_stop = "now() + INTERVAL '"+when[4:-6]+" HOUR'" - if when == 'LASTHOUR': - when = 'LAST1HOURS' - if re.search('LAST[0-9]*HOURS',when): - event_start = "now() - INTERVAL '"+when[4:-6]+" HOUR'" - event_stop = "now()" - if when == 'LASTMINUTE': - when = 'NEXT1MINUTES' - if re.search('LAST[0-9]*MINUTES',when): - event_start = "now() - INTERVAL '"+when[4:-7]+" MINUTE'" - event_stop = "now()" - if when == 'NEXTMINUTE': - when = "NEXT1MINUTES" - if re.search('NEXT[0-9]*MINUTES',when): - event_start = "now()" - event_stop = "now() + INTERVAL '"+when[4:-7]+" MINUTE'" + event_stop = "CURRENT_DATE" + m = re.match('(LAST|NEXT)(MONTH|WEEK|DAY|HOUR|MINUTE)',when) + if m is not None: + when = m.group(1)+m.group(2)+'S' + m = re.match('(LAST|NEXT)([0-9]*)(MONTH|WEEK|MINUTE|HOUR|DAY)S',when) + if m is not None: + if m.group(1) == 'LAST': + event_start = "now() - INTERVAL '%s %s'" % (m.group(2),m.group(3)) + event_stop = "now()" + else: + event_start = "now()" + event_stop = "now() + INTERVAL '%s %s'" % (m.group(2),m.group(3)) return event_start, event_stop