re.match instead of too many if
This commit is contained in:
parent
aa6b65b8a1
commit
f696a258e8
1 changed files with 16 additions and 31 deletions
47
backend.py
47
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
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue