From e8b0d7451ed5be45dda65c5d17e9fe9844630dc1 Mon Sep 17 00:00:00 2001 From: Chris Church Date: Tue, 15 Apr 2014 13:24:06 -0400 Subject: [PATCH] AC-1182 Handle a schedule rrule that results in zero occurrences. --- awx/main/models/schedules.py | 5 ++++- awx/main/tests/schedules.py | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/awx/main/models/schedules.py b/awx/main/models/schedules.py index 9f59e4c92e..2789a1c7e8 100644 --- a/awx/main/models/schedules.py +++ b/awx/main/models/schedules.py @@ -93,7 +93,10 @@ class Schedule(CommonModel): next_run_actual = future_rs.after(now()) self.next_run = next_run_actual - self.dtstart = future_rs[0] + try: + self.dtstart = future_rs[0] + except IndexError: + self.dtstart = None self.dtend = None if 'until' in self.rrule.lower(): match_until = re.match(".*?(UNTIL\=[0-9]+T[0-9]+Z)", self.rrule) diff --git a/awx/main/tests/schedules.py b/awx/main/tests/schedules.py index cf7089a213..9319a73ce5 100644 --- a/awx/main/tests/schedules.py +++ b/awx/main/tests/schedules.py @@ -35,7 +35,8 @@ GOOD_SCHEDULES = ["DTSTART:20500331T055000Z RRULE:FREQ=MINUTELY;INTERVAL=10;COUN "DTSTART:20140331T075000Z RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=4;BYMONTHDAY=1", "DTSTART:20140331T075000Z RRULE:FREQ=YEARLY;INTERVAL=1;BYSETPOS=-1;BYMONTH=8;BYDAY=SU", "DTSTART:20140331T075000Z RRULE:FREQ=WEEKLY;INTERVAL=1;UNTIL=20230401T075000Z;BYDAY=MO,WE,FR", - "DTSTART:20140331T075000Z RRULE:FREQ=HOURLY;INTERVAL=1;UNTIL=20230610T075000Z" + "DTSTART:20140331T075000Z RRULE:FREQ=HOURLY;INTERVAL=1;UNTIL=20230610T075000Z", + "DTSTART:20140411T040000Z RRULE:FREQ=WEEKLY;INTERVAL=1;UNTIL=20140411T040000Z;BYDAY=WE", ] BAD_SCHEDULES = ["", "DTSTART:20140331T055000 RRULE:FREQ=MINUTELY;INTERVAL=10;COUNT=5", "RRULE:FREQ=MINUTELY;INTERVAL=10;COUNT=5",