File no-utcfromtimestamp.patch of Package python-python-dateutil

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)
openSUSE Build Service is sponsored by