diff options
author | 田口信元 <shingen.taguchi@brainpad.co.jp> | 2020-06-08 20:45:22 +0900 |
---|---|---|
committer | 田口信元 <shingen.taguchi@brainpad.co.jp> | 2020-06-08 20:45:22 +0900 |
commit | 09f52b26ddea0e0141548281f285c5915dd8e56d (patch) | |
tree | 4e49369d5a2945454b43f559178ec5bc15473fcb | |
parent | bc676d0191c61e93bd00d0d8ba818c110e710ecd (diff) | |
download | croniter-devs.tar.gz |
feat: Support for day-or in matchdevs
-rw-r--r-- | src/croniter/croniter.py | 4 | ||||
-rwxr-xr-x | src/croniter/tests/test_croniter.py | 30 |
2 files changed, 32 insertions, 2 deletions
diff --git a/src/croniter/croniter.py b/src/croniter/croniter.py index 395279c..33e79c5 100644 --- a/src/croniter/croniter.py +++ b/src/croniter/croniter.py @@ -586,8 +586,8 @@ class croniter(object): return True @classmethod - def match(cls, cron_expression, testdate): - cron = cls(cron_expression, testdate, ret_type=datetime.datetime) + def match(cls, cron_expression, testdate, day_or=True): + cron = cls(cron_expression, testdate, ret_type=datetime.datetime, day_or=day_or) td, ms1 = cron.get_current(datetime.datetime), relativedelta(microseconds=1) cron.set_current(td + ms1) tdp, tdt = cron.get_current(), cron.get_prev() diff --git a/src/croniter/tests/test_croniter.py b/src/croniter/tests/test_croniter.py index d0b435d..afaacde 100755 --- a/src/croniter/tests/test_croniter.py +++ b/src/croniter/tests/test_croniter.py @@ -970,6 +970,36 @@ class CroniterTest(base.TestCase): "31 * * * *", datetime(2019, 1, 14, 1, 31, 0, 0) )) + self.assertTrue(croniter.match( + "0 0 10 * wed", + datetime(2020, 6, 10, 0, 0, 0, 0), + day_or=True + )) + self.assertTrue(croniter.match( + "0 0 10 * fri", + datetime(2020, 6, 10, 0, 0, 0, 0), + day_or=True + )) + self.assertTrue(croniter.match( + "0 0 10 * fri", + datetime(2020, 6, 12, 0, 0, 0, 0), + day_or=True + )) + self.assertTrue(croniter.match( + "0 0 10 * wed", + datetime(2020, 6, 10, 0, 0, 0, 0), + day_or=False + )) + self.assertFalse(croniter.match( + "0 0 10 * fri", + datetime(2020, 6, 10, 0, 0, 0, 0), + day_or=False + )) + self.assertFalse(croniter.match( + "0 0 10 * fri", + datetime(2020, 6, 12, 0, 0, 0, 0), + day_or=False + )) def test_dst_issue90_st31ny(self): |