https://github.com/python/cpython/commit/c68acb1384a51eb745f572687eaf677371b9e765
commit: c68acb1384a51eb745f572687eaf677371b9e765
branch: main
author: Hugo van Kemenade <[email protected]>
committer: hugovk <[email protected]>
date: 2024-05-09T03:17:02-06:00
summary:
gh-118798: Remove deprecated isdst parameter from `email.utils.localtime`
(#118799)
files:
A Misc/NEWS.d/next/Library/2024-05-08-23-16-50.gh-issue-118798.Q_ybqP.rst
M Doc/library/email.utils.rst
M Doc/whatsnew/3.14.rst
M Lib/email/utils.py
M Lib/test/test_email/test_utils.py
diff --git a/Doc/library/email.utils.rst b/Doc/library/email.utils.rst
index 6f0bed130bc64c..43e5b25df01f79 100644
--- a/Doc/library/email.utils.rst
+++ b/Doc/library/email.utils.rst
@@ -17,8 +17,7 @@ module:
arguments, return current time. Otherwise *dt* argument should be a
:class:`~datetime.datetime` instance, and it is converted to the local time
zone according to the system time zone database. If *dt* is naive (that
- is, ``dt.tzinfo`` is ``None``), it is assumed to be in local time. The
- *isdst* parameter is ignored.
+ is, ``dt.tzinfo`` is ``None``), it is assumed to be in local time.
.. versionadded:: 3.3
diff --git a/Doc/whatsnew/3.14.rst b/Doc/whatsnew/3.14.rst
index 496a5d8ae7bc5e..24b6b617fe17dc 100644
--- a/Doc/whatsnew/3.14.rst
+++ b/Doc/whatsnew/3.14.rst
@@ -101,6 +101,15 @@ Deprecated
Removed
=======
+email
+-----
+
+* The *isdst* parameter has been removed from :func:`email.utils.localtime`.
+ (Contributed by Hugo van Kemenade in :gh:`118798`.)
+
+Others
+------
+
* Using :data:`NotImplemented` in a boolean context will now raise a
:exc:`TypeError`.
It had previously raised a :exc:`DeprecationWarning` since Python 3.9.
(Contributed
by Jelle Zijlstra in :gh:`118767`.)
diff --git a/Lib/email/utils.py b/Lib/email/utils.py
index 103cef61a83538..6d897ca8eeee91 100644
--- a/Lib/email/utils.py
+++ b/Lib/email/utils.py
@@ -466,23 +466,15 @@ def collapse_rfc2231_value(value, errors='replace',
# better than not having it.
#
-def localtime(dt=None, isdst=None):
+def localtime(dt=None):
"""Return local time as an aware datetime object.
If called without arguments, return current time. Otherwise *dt*
argument should be a datetime instance, and it is converted to the
local time zone according to the system time zone database. If *dt* is
naive (that is, dt.tzinfo is None), it is assumed to be in local time.
- The isdst parameter is ignored.
"""
- if isdst is not None:
- import warnings
- warnings._deprecated(
- "The 'isdst' parameter to 'localtime'",
- message='{name} is deprecated and slated for removal in Python
{remove}',
- remove=(3, 14),
- )
if dt is None:
dt = datetime.datetime.now()
return dt.astimezone()
diff --git a/Lib/test/test_email/test_utils.py
b/Lib/test/test_email/test_utils.py
index d04b3909efa643..8556a93699d194 100644
--- a/Lib/test/test_email/test_utils.py
+++ b/Lib/test/test_email/test_utils.py
@@ -154,10 +154,6 @@ def test_variable_tzname(self):
t1 = utils.localtime(t0)
self.assertEqual(t1.tzname(), 'EET')
- def test_isdst_deprecation(self):
- with self.assertWarns(DeprecationWarning):
- t0 = datetime.datetime(1990, 1, 1)
- t1 = utils.localtime(t0, isdst=True)
# Issue #24836: The timezone files are out of date (pre 2011k)
# on Mac OS X Snow Leopard.
diff --git
a/Misc/NEWS.d/next/Library/2024-05-08-23-16-50.gh-issue-118798.Q_ybqP.rst
b/Misc/NEWS.d/next/Library/2024-05-08-23-16-50.gh-issue-118798.Q_ybqP.rst
new file mode 100644
index 00000000000000..28847e13207ffe
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2024-05-08-23-16-50.gh-issue-118798.Q_ybqP.rst
@@ -0,0 +1,2 @@
+The *isdst* parameter has been removed from :func:`email.utils.localtime`.
+Patch by Hugo van Kemenade.
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]