Hello community,
here is the log from the commit of package python-croniter for
openSUSE:Leap:15.2 checked in at 2020-03-16 12:21:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/python-croniter (Old)
and /work/SRC/openSUSE:Leap:15.2/.python-croniter.new.3160 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-croniter"
Mon Mar 16 12:21:33 2020 rev:12 rq:785527 version:0.3.31
Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/python-croniter/python-croniter.changes
2020-03-09 18:04:12.968783280 +0100
+++
/work/SRC/openSUSE:Leap:15.2/.python-croniter.new.3160/python-croniter.changes
2020-03-16 12:21:34.523713584 +0100
@@ -1,0 +2,6 @@
+Sat Mar 14 15:47:06 UTC 2020 - Dirk Mueller <[email protected]>
+
+- update to 0.3.31:
+ - Fix get_next() when start_time less then 1s before next instant
+
+-------------------------------------------------------------------
Old:
----
croniter-0.3.30.tar.gz
New:
----
croniter-0.3.31.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-croniter.spec ++++++
--- /var/tmp/diff_new_pack.aRvW9c/_old 2020-03-16 12:21:35.319713713 +0100
+++ /var/tmp/diff_new_pack.aRvW9c/_new 2020-03-16 12:21:35.319713713 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-croniter
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-croniter
-Version: 0.3.30
+Version: 0.3.31
Release: 0
Summary: Python iterators for datetime objects with cron-like format
License: MIT
++++++ croniter-0.3.30.tar.gz -> croniter-0.3.31.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/croniter-0.3.30/PKG-INFO new/croniter-0.3.31/PKG-INFO
--- old/croniter-0.3.30/PKG-INFO 2019-04-20 17:44:33.000000000 +0200
+++ new/croniter-0.3.31/PKG-INFO 2020-01-02 16:22:28.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: croniter
-Version: 0.3.30
+Version: 0.3.31
Summary: croniter provides iteration for datetime object with cron like format
Home-page: http://github.com/kiorky/croniter
Author: Matsumoto Taichi, kiorky
@@ -149,6 +149,12 @@
Changelog
==============
+ 0.3.31 (2020-01-02)
+ -------------------
+
+ - Fix get_next() when start_time less then 1s before next instant
+ [AlexHill]
+
0.3.30 (2019-04-20)
-------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/croniter-0.3.30/docs/CHANGES.rst
new/croniter-0.3.31/docs/CHANGES.rst
--- old/croniter-0.3.30/docs/CHANGES.rst 2019-04-20 17:44:33.000000000
+0200
+++ new/croniter-0.3.31/docs/CHANGES.rst 2020-01-02 16:22:28.000000000
+0100
@@ -1,6 +1,12 @@
Changelog
==============
+0.3.31 (2020-01-02)
+-------------------
+
+- Fix get_next() when start_time less then 1s before next instant
+ [AlexHill]
+
0.3.30 (2019-04-20)
-------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/croniter-0.3.30/setup.py new/croniter-0.3.31/setup.py
--- old/croniter-0.3.30/setup.py 2019-04-20 17:44:33.000000000 +0200
+++ new/croniter-0.3.31/setup.py 2020-01-02 16:22:28.000000000 +0100
@@ -23,7 +23,7 @@
setup(
name='croniter',
- version='0.3.30',
+ version='0.3.31',
py_modules=['croniter', ],
description=(
'croniter provides iteration for datetime '
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/croniter-0.3.30/src/croniter/croniter.py
new/croniter-0.3.31/src/croniter/croniter.py
--- old/croniter-0.3.30/src/croniter/croniter.py 2019-04-20
17:44:33.000000000 +0200
+++ new/croniter-0.3.31/src/croniter/croniter.py 2020-01-02
16:22:28.000000000 +0100
@@ -1,7 +1,9 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, print_function
+from __future__ import absolute_import, print_function, division
+
+import math
import re
from time import time
import datetime
@@ -80,9 +82,6 @@
self.tzinfo = None
if isinstance(start_time, datetime.datetime):
self.tzinfo = start_time.tzinfo
- # milliseconds/microseconds rounds
- if start_time.microsecond:
- start_time = start_time + relativedelta(seconds=1)
start_time = self._datetime_to_timestamp(start_time)
self.start_time = start_time
@@ -224,10 +223,12 @@
def _calc(self, now, expanded, nth_weekday_of_month, is_prev):
if is_prev:
+ now = math.ceil(now)
nearest_diff_method = self._get_prev_nearest_diff
sign = -1
offset = (len(expanded) == 6 or now % 60 > 0) and 1 or 60
else:
+ now = math.floor(now)
nearest_diff_method = self._get_next_nearest_diff
sign = 1
offset = (len(expanded) == 6) and 1 or 60
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/croniter-0.3.30/src/croniter/tests/test_croniter.py
new/croniter-0.3.31/src/croniter/tests/test_croniter.py
--- old/croniter-0.3.30/src/croniter/tests/test_croniter.py 2019-04-20
17:44:33.000000000 +0200
+++ new/croniter-0.3.31/src/croniter/tests/test_croniter.py 2020-01-02
16:22:28.000000000 +0100
@@ -3,6 +3,7 @@
import unittest
from datetime import datetime, timedelta
+from functools import partial
from time import sleep
import pytz
from croniter import croniter, CroniterBadDateError, CroniterBadCronError,
CroniterNotAlphaError
@@ -816,21 +817,38 @@
"""
https://github.com/taichino/croniter/issues/107
"""
- #
+
+ _croniter = partial(croniter, "0 10 * * *", ret_type=datetime)
+
dt = datetime(2018, 1, 2, 10, 0, 0, 500)
- c = croniter("0 10 * * * ", start_time=dt)
- ts = "{0}".format(datetime.utcfromtimestamp(c.get_prev()))
- self.assertEqual(ts, '2018-01-02 10:00:00')
- #
+ self.assertEqual(
+ _croniter(start_time=dt).get_prev(),
+ datetime(2018, 1, 2, 10, 0),
+ )
+ self.assertEqual(
+ _croniter(start_time=dt).get_next(),
+ datetime(2018, 1, 3, 10, 0),
+ )
+
dt = datetime(2018, 1, 2, 10, 0, 1, 0)
- c = croniter("0 10 * * * ", start_time=dt)
- ts = "{0}".format(datetime.utcfromtimestamp(c.get_prev()))
- self.assertEqual(ts, '2018-01-02 10:00:00')
- #
+ self.assertEqual(
+ _croniter(start_time=dt).get_prev(),
+ datetime(2018, 1, 2, 10, 0),
+ )
+ self.assertEqual(
+ _croniter(start_time=dt).get_next(),
+ datetime(2018, 1, 3, 10, 0),
+ )
+
dt = datetime(2018, 1, 2, 9, 59, 59, 999999)
- c = croniter("0 10 * * * ", start_time=dt)
- ts = "{0}".format(datetime.utcfromtimestamp(c.get_prev()))
- self.assertEqual(ts, '2018-01-01 10:00:00')
+ self.assertEqual(
+ _croniter(start_time=dt).get_prev(),
+ datetime(2018, 1, 1, 10, 0),
+ )
+ self.assertEqual(
+ _croniter(start_time=dt).get_next(),
+ datetime(2018, 1, 2, 10, 0),
+ )
def test_invalid_zerorepeat(self):
self.assertFalse(croniter.is_valid('*/0 * * * *'))
@@ -845,7 +863,7 @@
ret.append(dt)
dt += timedelta(days=1)
sret = ["{0}".format(r) for r in ret]
- self.assertEquals(
+ self.assertEqual(
sret,
['2019-01-15 00:00:00',
'2019-01-16 00:00:01',
@@ -865,7 +883,7 @@
ret.append(dt)
dt += timedelta(days=1)
sret = ["{0}".format(r) for r in ret]
- self.assertEquals(
+ self.assertEqual(
sret,
['2019-01-14 00:00:01',
'2019-01-15 00:00:02',
@@ -888,7 +906,7 @@
ret.append(dt)
dt += timedelta(days=1)
sret = ["{0}".format(r) for r in ret]
- self.assertEquals(
+ self.assertEqual(
sret,
['2019-01-16 00:00:00',
'2019-01-17 00:00:01',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/croniter-0.3.30/src/croniter.egg-info/PKG-INFO
new/croniter-0.3.31/src/croniter.egg-info/PKG-INFO
--- old/croniter-0.3.30/src/croniter.egg-info/PKG-INFO 2019-04-20
17:44:33.000000000 +0200
+++ new/croniter-0.3.31/src/croniter.egg-info/PKG-INFO 2020-01-02
16:22:28.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: croniter
-Version: 0.3.30
+Version: 0.3.31
Summary: croniter provides iteration for datetime object with cron like format
Home-page: http://github.com/kiorky/croniter
Author: Matsumoto Taichi, kiorky
@@ -149,6 +149,12 @@
Changelog
==============
+ 0.3.31 (2020-01-02)
+ -------------------
+
+ - Fix get_next() when start_time less then 1s before next instant
+ [AlexHill]
+
0.3.30 (2019-04-20)
-------------------