diff --git a/src/croniter/croniter.py b/src/croniter/croniter.py index 327326f..5cc2f41 100644 --- a/src/croniter/croniter.py +++ b/src/croniter/croniter.py @@ -363,7 +363,9 @@ class croniter(object): continue return self._datetime_to_timestamp(dst.replace(microsecond=0)) - raise Exception("failed to find prev date") + if is_prev: + raise Exception("failed to find prev date") + raise Exception("failed to find next date") def _get_next_nearest(self, x, to_check): small = [item for item in to_check if item < x] diff --git a/src/croniter/tests/test_croniter.py b/src/croniter/tests/test_croniter.py index 0baa9c0..55b81a2 100755 --- a/src/croniter/tests/test_croniter.py +++ b/src/croniter/tests/test_croniter.py @@ -388,6 +388,11 @@ class CroniterTest(base.TestCase): self.assertEqual(n6.month, 2) self.assertEqual(n6.day, 16) + def test_bug34(self): + base = datetime(2012, 2, 24, 0, 0, 0) + itr = croniter('* * 31 2 *', base) + n1 = itr.get_next(datetime) + def test_rangeGenerator(self): base = datetime(2013, 3, 4, 0, 0) itr = croniter('1-9/2 0 1 * *', base)