diff options
author | Václav Pokluda <vaclav.pokluda@grandit.cz> | 2014-08-01 12:59:00 +0200 |
---|---|---|
committer | Václav Pokluda <vaclav.pokluda@grandit.cz> | 2014-08-01 12:59:00 +0200 |
commit | 52958b9910d5ab8381d88741b7b32b2945a8c30c (patch) | |
tree | 9d42ed61418b35fd5906cc1a73989c5cd8d81274 /src/croniter/croniter.py | |
parent | d81b140af388c1ea6ef78eecf1a6d7d43ec1e0d7 (diff) | |
download | croniter-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.py | 7 |
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 |