Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-durationpy for 
openSUSE:Factory checked in at 2026-10-27 18:18:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-durationpy (Old)
 and      /work/SRC/openSUSE:Factory/.python-durationpy.new.2252680 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-durationpy"

Tue Oct 27 18:18:31 2026 rev:3 rq:1392614 version:0.11

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-durationpy/python-durationpy.changes      
2025-05-23 14:27:36.613105979 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-durationpy.new.2252680/python-durationpy.changes
 2026-10-27 18:18:42.484961147 +0100
@@ -1,0 +2,8 @@
+Sat Oct 24 17:53:01 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 0.11:
+  * from_str raises DurationError on out-of-range durations
+    instead of leaking OverflowError
+  * Document day, week, month and year units in README
+
+-------------------------------------------------------------------

Old:
----
  durationpy-0.10.tar.gz

New:
----
  durationpy-0.11.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-durationpy.spec ++++++
--- /var/tmp/diff_new_pack.tC0abr/_old  2026-10-27 18:18:44.919062665 +0100
+++ /var/tmp/diff_new_pack.tC0abr/_new  2026-10-27 18:18:44.923062832 +0100
@@ -18,7 +18,7 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-durationpy
-Version:        0.10
+Version:        0.11
 Release:        0
 Summary:        Module for converting between datetime.timedelta and Go's 
Duration strings
 # FIXME: Select a correct license from 
https://github.com/openSUSE/spec-cleaner#spdx-licenses

++++++ durationpy-0.10.tar.gz -> durationpy-0.11.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/durationpy-0.10/.gitignore 
new/durationpy-0.11/.gitignore
--- old/durationpy-0.10/.gitignore      2025-05-17 15:51:51.000000000 +0200
+++ new/durationpy-0.11/.gitignore      2026-08-26 15:55:28.000000000 +0200
@@ -4,3 +4,4 @@
 MANIFEST
 .python-version
 /durationpy.egg-info
+/.venv/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/durationpy-0.10/Makefile new/durationpy-0.11/Makefile
--- old/durationpy-0.10/Makefile        2025-05-17 15:51:51.000000000 +0200
+++ new/durationpy-0.11/Makefile        1970-01-01 01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-build: clean
-       python3 setup.py sdist bdist_wheel
-
-clean:
-       rm -rf build dist *.egg-info
-
-publish: build
-       twine upload dist/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/durationpy-0.10/README.md 
new/durationpy-0.11/README.md
--- old/durationpy-0.10/README.md       2025-05-17 15:51:51.000000000 +0200
+++ new/durationpy-0.11/README.md       2026-08-26 15:55:28.000000000 +0200
@@ -17,6 +17,10 @@
 * `s` - second
 * `m` - minute
 * `h` - hour
+* `d` - day
+* `w` - week
+* `mm` - month
+* `y` - year
 
 ``` py
 # parse
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/durationpy-0.10/durationpy/duration.py 
new/durationpy-0.11/durationpy/duration.py
--- old/durationpy-0.10/durationpy/duration.py  2025-05-17 15:51:51.000000000 
+0200
+++ new/durationpy-0.11/durationpy/duration.py  2026-08-26 15:55:28.000000000 
+0200
@@ -70,7 +70,15 @@
                 "Invalid value {} in duration {}".format(value, original))
 
     microseconds = total / _microsecond_size
-    return datetime.timedelta(microseconds=sign * microseconds)
+    try:
+        return datetime.timedelta(microseconds=sign * microseconds)
+    except (OverflowError, ValueError) as e:
+        # A huge value overflows timedelta's day count, and a value large 
enough
+        # to become float inf makes timedelta reject it too. Report either as a
+        # DurationError instead of leaking the raw exception.
+        raise DurationError(
+            "Duration out of range: {}".format(original)
+        ) from e
 
 def to_str(delta, extended=False):
     """Format a datetime.timedelta to a duration string"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/durationpy-0.10/mise.toml 
new/durationpy-0.11/mise.toml
--- old/durationpy-0.10/mise.toml       1970-01-01 01:00:00.000000000 +0100
+++ new/durationpy-0.11/mise.toml       2026-08-26 15:55:28.000000000 +0200
@@ -0,0 +1,28 @@
+[tools]
+python = "3.11"
+uv = "latest"
+
+[env]
+_.python.venv = { path = ".venv", create = true }
+
+[tasks.install]
+description = "Install development dependencies"
+run = "uv pip install -r requirements-dev.txt"
+
+[tasks.test]
+description = "Run the tests"
+run = "python test.py"
+
+[tasks.clean]
+description = "Remove build artifacts"
+run = "rm -rf build dist *.egg-info"
+
+[tasks.build]
+description = "Build the sdist and wheel"
+depends = ["clean"]
+run = "python setup.py sdist bdist_wheel"
+
+[tasks.publish]
+description = "Upload the distributions to PyPI"
+depends = ["build"]
+run = "twine upload dist/*"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/durationpy-0.10/requirements-dev.txt 
new/durationpy-0.11/requirements-dev.txt
--- old/durationpy-0.10/requirements-dev.txt    1970-01-01 01:00:00.000000000 
+0100
+++ new/durationpy-0.11/requirements-dev.txt    2026-08-26 15:55:28.000000000 
+0200
@@ -0,0 +1,3 @@
+setuptools
+wheel
+twine
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/durationpy-0.10/setup.py new/durationpy-0.11/setup.py
--- old/durationpy-0.10/setup.py        2025-05-17 15:51:51.000000000 +0200
+++ new/durationpy-0.11/setup.py        2026-08-26 15:55:28.000000000 +0200
@@ -6,8 +6,8 @@
     url          = 'https://github.com/icholy/durationpy',
     author       = 'Ilia Choly',
     author_email = '[email protected]',
-    download_url = 'https://github.com/icholy/durationpy/tarball/0.10',
-    version      = '0.10',
+    download_url = 'https://github.com/icholy/durationpy/tarball/0.11',
+    version      = '0.11',
     packages     = ['durationpy'],
     package_data = {'durationpy': ['py.typed', '*.pyi']},
     license      = 'MIT'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/durationpy-0.10/test.py new/durationpy-0.11/test.py
--- old/durationpy-0.10/test.py 2025-05-17 15:51:51.000000000 +0200
+++ new/durationpy-0.11/test.py 2026-08-26 15:55:28.000000000 +0200
@@ -74,6 +74,11 @@
   ["+X3h", False, 0],
   ["-X3h", False, 0],
 
+  # out of range: matches the grammar but overflows timedelta
+  ["99999999999999999999ms", False, 0],
+  ["999999999999999999999999999y", False, 0],
+  
["10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d",
 False, 0],
+
   # extended
   ["5y2mm", True, 5*year + 2*month],
   ["7d", True, 7*day],

Reply via email to