summaryrefslogtreecommitdiff
path: root/src/croniter/croniter.py
diff options
context:
space:
mode:
authorVáclav Pokluda <vaclav.pokluda@grandit.cz>2014-08-01 12:59:00 +0200
committerVáclav Pokluda <vaclav.pokluda@grandit.cz>2014-08-01 12:59:00 +0200
commit52958b9910d5ab8381d88741b7b32b2945a8c30c (patch)
tree9d42ed61418b35fd5906cc1a73989c5cd8d81274 /src/croniter/croniter.py
parentd81b140af388c1ea6ef78eecf1a6d7d43ec1e0d7 (diff)
downloadcroniter-52958b9910d5ab8381d88741b7b32b2945a8c30c.tar.gz
added feature to support last day of month (using char 'L')
Diffstat (limited to 'src/croniter/croniter.py')
-rw-r--r--src/croniter/croniter.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/croniter/croniter.py b/src/croniter/croniter.py
index fc5a740..86c1179 100644
--- a/src/croniter/croniter.py
+++ b/src/croniter/croniter.py
@@ -32,7 +32,7 @@ class croniter(object):
ALPHACONV = (
{},
{},
- {},
+ {"l":"l"},
{'jan': 1, 'feb': 2, 'mar': 3, 'apr': 4, 'may': 5, 'jun': 6,
'jul': 7, 'aug': 8, 'sep': 9, 'oct': 10, 'nov': 11, 'dec': 12},
{'sun': 0, 'mon': 1, 'tue': 2, 'wed': 3, 'thu': 4, 'fri': 5, 'sat': 6},
@@ -116,7 +116,7 @@ class croniter(object):
if t in self.LOWMAP[i]:
t = self.LOWMAP[i][t]
- if t != '*' and (int(t) < self.RANGES[i][0] or
+ if t not in ["*","l"] and (int(t) < self.RANGES[i][0] or
int(t) > self.RANGES[i][1]):
raise ValueError(
"[{0}] is not acceptable, out of range".format(
@@ -338,6 +338,9 @@ class croniter(object):
def _get_next_nearest_diff(self, x, to_check, range_val):
for i, d in enumerate(to_check):
+ if d == "l":
+ #if 'l' then it is the last day of month => its value of range_val
+ d = range_val
if d >= x:
return d - x
return to_check[0] - x + range_val