Accepting request 1157042 from devel:languages:python

Forwarded request #1156451 from bnavigator

- Update to 2.9.0.post0
    * Pinned setuptools_scm to <8, which should make the generated
      _version.py file compatible with all supported versions of
      Python. (We don't do this at openSUSE, we don't need Python 2
      installs from a setuptools_scm v8 build)
  - Version 2.9.0
    * Updated tzdata version to 2024a. (gh pr #1342)
    * Made all dateutil submodules lazily imported using PEP 562. On
      Python 3.7+, things like import dateutil;
      dateutil.tz.gettz("America/New_York") will now work without
      explicitly importing dateutil.tz, with the import occurring
      behind the scenes on first use. The old behavior remains on
      Python 3.6 and earlier. Fixed by Orson Adams. (gh issue #771,
      gh pr #1007)
    * Removed a call to datetime.utcfromtimestamp, which is
      deprecated as of Python 3.12. Reported by Hugo van Kemenade (gh
      pr #1284), fixed by Thomas Grainger (gh pr #1285).
  - Provide underscore name: some consuming packages go with that,
    don't fail unnecessarily
  - Drop no-utcfromtimestamp.patch

OBS-URL: https://build.opensuse.org/request/show/1157042
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-python-dateutil?expand=0&rev=14
This commit is contained in:
Ana Guerrero 2024-03-13 21:16:35 +00:00 committed by Git OBS Bridge
commit b17c00c3d1
5 changed files with 34 additions and 57 deletions

View File

@ -1,48 +0,0 @@
Index: python-dateutil-2.8.2/dateutil/tz/tz.py
===================================================================
--- python-dateutil-2.8.2.orig/dateutil/tz/tz.py
+++ python-dateutil-2.8.2/dateutil/tz/tz.py
@@ -34,7 +34,7 @@ except ImportError:
from warnings import warn
ZERO = datetime.timedelta(0)
-EPOCH = datetime.datetime.utcfromtimestamp(0)
+EPOCH = datetime.datetime.fromtimestamp(0, tz=datetime.timezone.utc)
EPOCHORDINAL = EPOCH.toordinal()
@@ -1809,9 +1809,9 @@ def resolve_imaginary(dt):
def _datetime_to_timestamp(dt):
"""
Convert a :class:`datetime.datetime` object to an epoch timestamp in
- seconds since January 1, 1970, ignoring the time zone.
+ seconds since January 1, 1970, forcing to UTC.
"""
- return (dt.replace(tzinfo=None) - EPOCH).total_seconds()
+ return (dt.replace(tzinfo=datetime.timezone.utc) - EPOCH).total_seconds()
if sys.version_info >= (3, 6):
Index: python-dateutil-2.8.2/dateutil/test/test_tz.py
===================================================================
--- python-dateutil-2.8.2.orig/dateutil/test/test_tz.py
+++ python-dateutil-2.8.2/dateutil/test/test_tz.py
@@ -10,6 +10,7 @@ from datetime import tzinfo
from six import PY2
from io import BytesIO, StringIO
import unittest
+import warnings
import sys
import base64
@@ -2809,3 +2810,10 @@ def test_resolve_imaginary(tzi, dt, dt_e
assert dt_r == dt_exp
assert dt_r.tzname() == dt_exp.tzname()
assert dt_r.utcoffset() == dt_exp.utcoffset()
+
+
+def test_epoch():
+ # We're really try to see that no warnings are raised
+ with warnings.catch_warnings():
+ warnings.simplefilter("error")
+ assert tz.EPOCH - tz.EPOCH == timedelta(0)

BIN
python-dateutil-2.8.2.tar.gz (Stored with Git LFS)

Binary file not shown.

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3
size 342432

View File

@ -1,3 +1,27 @@
-------------------------------------------------------------------
Tue Mar 5 13:44:20 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Update to 2.9.0.post0
* Pinned setuptools_scm to <8, which should make the generated
_version.py file compatible with all supported versions of
Python. (We don't do this at openSUSE, we don't need Python 2
installs from a setuptools_scm v8 build)
- Version 2.9.0
* Updated tzdata version to 2024a. (gh pr #1342)
* Made all dateutil submodules lazily imported using PEP 562. On
Python 3.7+, things like import dateutil;
dateutil.tz.gettz("America/New_York") will now work without
explicitly importing dateutil.tz, with the import occurring
behind the scenes on first use. The old behavior remains on
Python 3.6 and earlier. Fixed by Orson Adams. (gh issue #771,
gh pr #1007)
* Removed a call to datetime.utcfromtimestamp, which is
deprecated as of Python 3.12. Reported by Hugo van Kemenade (gh
pr #1284), fixed by Thomas Grainger (gh pr #1285).
- Provide underscore name: some consuming packages go with that,
don't fail unnecessarily
- Drop no-utcfromtimestamp.patch
-------------------------------------------------------------------
Mon Sep 18 04:39:14 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file
# spec file for package python-python-dateutil
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -27,15 +27,15 @@
%endif
%{?sle15_python_module_pythons}
Name: python-python-dateutil%{psuffix}
Version: 2.8.2
Version: 2.9.0.post0
Release: 0
Summary: A Python Datetime Library
License: Apache-2.0 OR BSD-3-Clause
URL: https://dateutil.readthedocs.org/en/latest/
Source0: https://files.pythonhosted.org/packages/source/p/python-dateutil/python-dateutil-%{version}.tar.gz
Patch0: no-utcfromtimestamp.patch
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools >= 24.3}
# Don't pin to <8 like upstream does: gh#dateutil/dateutil#1346
BuildRequires: %{python_module setuptools_scm}
BuildRequires: %{python_module six >= 1.5}
BuildRequires: %{python_module wheel}
@ -43,8 +43,9 @@ BuildRequires: dos2unix
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-six >= 1.5
Obsoletes: python-dateutil < %{version}
Provides: python-dateutil = %{version}
Obsoletes: python-dateutil < %{version}-%{release}
Provides: python-dateutil = %{version}-%{release}
Provides: python-python_dateutil = %{version}-%{release}
BuildArch: noarch
%if %{with test}
BuildRequires: %{python_module freezegun}