re.match instead of too many if

This commit is contained in:
cquest 2016-06-09 00:21:17 +02:00
parent aa6b65b8a1
commit f696a258e8

View file

@ -122,32 +122,17 @@ class EventResource(BaseEvent):
if when == 'YESTERDAY': if when == 'YESTERDAY':
event_start = "CURRENT_DATE - INTERVAL '1 DAY'" event_start = "CURRENT_DATE - INTERVAL '1 DAY'"
event_stop = "CURRENT_DATE" event_stop = "CURRENT_DATE"
if when == 'NEXTWEEK': m = re.match('(LAST|NEXT)(MONTH|WEEK|DAY|HOUR|MINUTE)',when)
event_start = "CURRENT_DATE" if m is not None:
event_stop = "CURRENT_DATE + INTERVAL '7 DAY'" when = m.group(1)+m.group(2)+'S'
if when == 'LASTWEEK': m = re.match('(LAST|NEXT)([0-9]*)(MONTH|WEEK|MINUTE|HOUR|DAY)S',when)
event_start = "CURRENT_DATE - INTERVAL '7 DAY'" if m is not None:
event_stop = "CURRENT_DATE" if m.group(1) == 'LAST':
if when == 'NEXTHOUR': event_start = "now() - INTERVAL '%s %s'" % (m.group(2),m.group(3))
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()" event_stop = "now()"
if when == 'LASTMINUTE': else:
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_start = "now()"
event_stop = "now() + INTERVAL '"+when[4:-7]+" MINUTE'" event_stop = "now() + INTERVAL '%s %s'" % (m.group(2),m.group(3))
return event_start, event_stop return event_start, event_stop