gh-118798: Remove deprecated isdst parameter from `email.utils.localtime` (#118799)

This commit is contained in:
Hugo van Kemenade 2024-05-09 12:17:02 +03:00 committed by GitHub
parent fa9b9cb113
commit c68acb1384
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 13 additions and 15 deletions

View File

@ -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

View File

@ -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`.)

View File

@ -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()

View File

@ -154,10 +154,6 @@ class LocaltimeTests(unittest.TestCase):
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.

View File

@ -0,0 +1,2 @@
The *isdst* parameter has been removed from :func:`email.utils.localtime`.
Patch by Hugo van Kemenade.