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 <dmuel...@suse.com>
+
+- 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)
         -------------------
         


Reply via email to