From 3d42f3d351da6d0b3cc59a92c6b0934fe1b16f83 Mon Sep 17 00:00:00 2001 From: Brent Tubbs Date: Wed, 24 Feb 2016 13:48:32 -0700 Subject: support setting ret_type in __init__ --- src/croniter/croniter.py | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/src/croniter/croniter.py b/src/croniter/croniter.py index 0f9d468..327326f 100644 --- a/src/croniter/croniter.py +++ b/src/croniter/croniter.py @@ -52,7 +52,8 @@ class croniter(object): bad_length = 'Exactly 5 or 6 columns has to be specified for iterator' \ 'expression.' - def __init__(self, expr_format, start_time=None): + def __init__(self, expr_format, start_time=None, ret_type=float): + self._ret_type = ret_type if start_time is None: start_time = time() @@ -137,13 +138,14 @@ class croniter(object): else res) self.expanded = expanded - def get_next(self, ret_type=float): - return self._get_next(ret_type, is_prev=False) + def get_next(self, ret_type=None): + return self._get_next(ret_type or self._ret_type, is_prev=False) - def get_prev(self, ret_type=float): - return self._get_next(ret_type, is_prev=True) + def get_prev(self, ret_type=None): + return self._get_next(ret_type or self._ret_type, is_prev=True) - def get_current(self, ret_type=float): + def get_current(self, ret_type=None): + ret_type = ret_type or self._ret_type if ret_type == datetime.datetime: return self._timestamp_to_datetime(self.cur) return self.cur @@ -186,24 +188,26 @@ class croniter(object): return self __next__ = next = get_next - def all_next(self, ret_type=float): + def all_next(self, ret_type=None): '''Generator of all consecutive dates. Can be used instead of implicit call to __iter__, whenever non-default 'ret_type' has to be specified. ''' while True: - yield self._get_next(ret_type, is_prev=False) + yield self._get_next(ret_type or self._ret_type, is_prev=False) - def all_prev(self, ret_type=float): + def all_prev(self, ret_type=None): '''Generator of all previous dates.''' while True: - yield self._get_next(ret_type, is_prev=True) + yield self._get_next(ret_type or self._ret_type, is_prev=True) iter = all_next # alias, you can call .iter() instead of .all_next() - def _get_next(self, ret_type=float, is_prev=False): + def _get_next(self, ret_type=None, is_prev=False): expanded = self.expanded[:] + ret_type = ret_type or self._ret_type + if ret_type not in (float, datetime.datetime): raise TypeError("Invalid ret_type, only 'float' or 'datetime' " "is acceptable.") -- cgit v1.2.1 From c46c41a7f7f765552ade554f3cb7c7517add6486 Mon Sep 17 00:00:00 2001 From: Mathieu Le Marec - Pasquet Date: Thu, 10 Mar 2016 21:31:10 +0100 Subject: changelog --- docs/CHANGES.rst | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/CHANGES.rst b/docs/CHANGES.rst index a4e5def..a02fbcc 100644 --- a/docs/CHANGES.rst +++ b/docs/CHANGES.rst @@ -3,9 +3,7 @@ Changelog 0.3.12 (unreleased) ------------------- - -- Nothing changed yet. - +- support setting ret_type in __init__ [Brent Tubbs ] 0.3.11 (2016-01-13) ------------------- -- cgit v1.2.1 From 126dcfc86c58dcbc2b0d428d358cd67477003068 Mon Sep 17 00:00:00 2001 From: Mathieu Le Marec - Pasquet Date: Thu, 10 Mar 2016 21:31:19 +0100 Subject: Preparing release 0.3.12 --- docs/CHANGES.rst | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/CHANGES.rst b/docs/CHANGES.rst index a02fbcc..380eb92 100644 --- a/docs/CHANGES.rst +++ b/docs/CHANGES.rst @@ -1,7 +1,7 @@ Changelog ============== -0.3.12 (unreleased) +0.3.12 (2016-03-10) ------------------- - support setting ret_type in __init__ [Brent Tubbs ] diff --git a/setup.py b/setup.py index 1e0e308..25a6fb6 100644 --- a/setup.py +++ b/setup.py @@ -17,7 +17,7 @@ long_description = "\n\n".join( setup( name='croniter', - version='0.3.12.dev0', + version='0.3.12', py_modules=['croniter', ], description=( 'croniter provides iteration for datetime ' -- cgit v1.2.1 From 6022c3adf26a191ca8eded61bc7617eea313e487 Mon Sep 17 00:00:00 2001 From: Mathieu Le Marec - Pasquet Date: Thu, 10 Mar 2016 21:31:32 +0100 Subject: Back to development: 0.3.13 --- docs/CHANGES.rst | 6 ++++++ setup.py | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/CHANGES.rst b/docs/CHANGES.rst index 380eb92..1b2d5b9 100644 --- a/docs/CHANGES.rst +++ b/docs/CHANGES.rst @@ -1,6 +1,12 @@ Changelog ============== +0.3.13 (unreleased) +------------------- + +- Nothing changed yet. + + 0.3.12 (2016-03-10) ------------------- - support setting ret_type in __init__ [Brent Tubbs ] diff --git a/setup.py b/setup.py index 25a6fb6..4eddfc5 100644 --- a/setup.py +++ b/setup.py @@ -17,7 +17,7 @@ long_description = "\n\n".join( setup( name='croniter', - version='0.3.12', + version='0.3.13.dev0', py_modules=['croniter', ], description=( 'croniter provides iteration for datetime ' -- cgit v1.2.1