summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Grönholm <alex.gronholm@nextday.fi>2014-10-20 12:39:29 +0300
committerAlex Grönholm <alex.gronholm@nextday.fi>2014-10-20 13:22:36 +0300
commit7947840c0bc6981210bfca46c540f546fa7644cc (patch)
tree47c4a85e5d636830d782f0c1d0eeb1c130b8c62d
parent3ec0d0b2038bb2bb00ad8c7060ffe64d4c2f8b51 (diff)
downloadapscheduler-7947840c0bc6981210bfca46c540f546fa7644cc.tar.gz
Fixed start date getting set too far in the future in IntervalTrigger (fixes #70)
-rw-r--r--apscheduler/triggers/interval.py2
-rw-r--r--tests/test_triggers.py5
2 files changed, 6 insertions, 1 deletions
diff --git a/apscheduler/triggers/interval.py b/apscheduler/triggers/interval.py
index 025161a..df9e6fe 100644
--- a/apscheduler/triggers/interval.py
+++ b/apscheduler/triggers/interval.py
@@ -40,7 +40,7 @@ class IntervalTrigger(BaseTrigger):
else:
self.timezone = get_localzone()
- start_date = start_date or (datetime.now() + self.interval)
+ start_date = start_date or (datetime.now(self.timezone) + self.interval)
self.start_date = convert_to_datetime(start_date, self.timezone, 'start_date')
self.end_date = convert_to_datetime(end_date, self.timezone, 'end_date')
diff --git a/tests/test_triggers.py b/tests/test_triggers.py
index df98e87..0ab8fe8 100644
--- a/tests/test_triggers.py
+++ b/tests/test_triggers.py
@@ -243,6 +243,11 @@ class TestIntervalTrigger(object):
now = trigger.start_date + timedelta(microseconds=1000)
assert trigger.get_next_fire_time(None, now) == trigger.start_date + trigger.interval
+ def test_no_start_date(self, timezone):
+ trigger = IntervalTrigger(seconds=2, timezone=timezone)
+ now = datetime.now(timezone)
+ assert (trigger.get_next_fire_time(None, now) - now) <= timedelta(seconds=2)
+
def test_different_tz(self, trigger, timezone):
alter_tz = pytz.FixedOffset(-60)
start_date = alter_tz.localize(datetime(2009, 8, 3, 22, second=2, microsecond=1000))