summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatsumoto Taichi <taichino@gmail.com>2013-03-04 17:15:48 -0500
committerMatsumoto Taichi <taichino@gmail.com>2013-03-04 17:15:48 -0500
commitbcfc503310e513334468c690bb55b79f5947b2b5 (patch)
treef48e2a57f126610deb474137155552ea981cfc96
parentff142916ab691b1caf5e2a569b199c69ca49a405 (diff)
parentaebfa447b7989ff87671cb574e69c9c7c61dd382 (diff)
downloadcroniter-bcfc503310e513334468c690bb55b79f5947b2b5.tar.gz
Merge branch 'master' of https://github.com/yuzawa-san/croniter into spike_yuzawa-san
Conflicts: croniter/croniter.py
-rw-r--r--croniter/croniter.py6
-rw-r--r--croniter/croniter_test.py12
2 files changed, 10 insertions, 8 deletions
diff --git a/croniter/croniter.py b/croniter/croniter.py
index 3944d46..6f52cec 100644
--- a/croniter/croniter.py
+++ b/croniter/croniter.py
@@ -87,9 +87,9 @@ class croniter(object):
or not only_int_re.search(str(step))):
raise ValueError("[%s] is not acceptable" %expr_format)
- for j in range(int(low), int(high)+1):
- if j % int(step) == 0:
- e_list.append(j)
+ low, high, step = map(int, [low, high, step])
+ for j in range(low, high+1, step):
+ e_list.append(j)
else:
if not star_or_int_re.search(t):
t = self.ALPHACONV[i][t.lower()]
diff --git a/croniter/croniter_test.py b/croniter/croniter_test.py
index bed7056..da04d9a 100644
--- a/croniter/croniter_test.py
+++ b/croniter/croniter_test.py
@@ -63,9 +63,11 @@ class CroniterTest(unittest.TestCase):
base = datetime(2010, 2, 24, 12, 9)
itr = croniter('0 0 */3 * *', base)
n1 = itr.get_next(datetime)
- self.assertEqual(n1.day, 27)
+ self.assertEqual(n1.day, 25)
n2 = itr.get_next(datetime)
- self.assertEqual(n2.day, 3)
+ self.assertEqual(n2.day, 28)
+ n3 = itr.get_next(datetime)
+ self.assertEqual(n3.day, 1)
# test leap year
base = datetime(1996, 2, 27)
@@ -77,7 +79,7 @@ class CroniterTest(unittest.TestCase):
self.assertEqual(n2.day, 29)
self.assertEqual(n2.month, 2)
- base2 = datetime(2000, 2, 27)
+ base2 = datetime(2000, 2, 27, 0, 0)
itr2 = croniter('0 0 * * *', base2)
n3 = itr2.get_next(datetime)
self.assertEqual(n3.day, 28)
@@ -220,10 +222,10 @@ class CroniterTest(unittest.TestCase):
self.assertEqual(n2.month, 3)
def testBug1(self):
- base = datetime(2012, 2, 24)
+ base = datetime(2012, 2, 24, 0, 0)
itr = croniter('5 0 */2 * *', base)
n1 = itr.get_prev(datetime)
- self.assertEqual(n1.day, 22)
+ self.assertEqual(n1.day, 23)
self.assertEqual(n1.hour, 0)
self.assertEqual(n1.minute, 5)