Sorry, something went wrong.
|
I'm not sure why it says I haven't signed the CLA. I did just link it with my github account so it may take a moment to refresh I assume. |
Sorry, something went wrong.
|
Closing and re-opening to re-trigger the CLA check. |
Sorry, something went wrong.
There was a problem hiding this comment.
A good start, thanks!
It would need some documentation updating too.
Put a .. deprecated:: 3.11 under the function in email.utils.rst. For example, have a look at:
And also list it on "What’s New In Python 3.11":
Sorry, something went wrong.
|
@hugovk I've added the edits you've requested. Thanks for the quick review. |
Sorry, something went wrong.
There was a problem hiding this comment.
Thanks for the update!
Sorry, something went wrong.
|
@hugovk I've completed the changes you requested. |
Sorry, something went wrong.
There was a problem hiding this comment.
Thanks! Just a couple of minor style things!
Sorry, something went wrong.
| .. versionadded:: 3.3 | ||
|
|
||
| .. deprecated:: 3.11 | ||
| Use of the ``isdst`` argument is deprecated. |
There was a problem hiding this comment.
I just noticed the style for parameters is italics (for example see the docstring):
| Use of the ``isdst`` argument is deprecated. | |
| Use of the *isdst* argument is deprecated. |
Sorry, something went wrong.
|
|
||
| (Contributed by Brett Cannon in :issue:`47061`.) | ||
|
|
||
| * Deprecated the ``isdst`` parameter in :func:`email.utils.localtime`. |
There was a problem hiding this comment.
| * Deprecated the ``isdst`` parameter in :func:`email.utils.localtime`. | |
| * Deprecated the *isdst* parameter in :func:`email.utils.localtime`. |
Sorry, something went wrong.
|
|
||
| """ | ||
| if isdst != -1: | ||
| warnings._deprecated("The isdst parameter to localtime", remove=(3,13)) |
There was a problem hiding this comment.
A little nit :)
| warnings._deprecated("The isdst parameter to localtime", remove=(3,13)) | |
| warnings._deprecated("The isdst parameter to localtime", remove=(3, 13)) |
Sorry, something went wrong.
There was a problem hiding this comment.
Thanks, looks good! Hopefully a core dev can take a look soon and trigger the CI.
cc @abalkin, @bitdancer, @Mariatta
Sorry, something went wrong.
|
Hi, just wanted to check if there was anything I could do to move this along. |
Sorry, something went wrong.
There was a problem hiding this comment.
This is a great start! A few things to fix up, though.
There will also need to be test changes for this, both to test that the deprecation warning is emitted as expected, and to prevent it from escaping where we don't want it.
Also, note that I'm not a maintainer of the email package, so these are just general suggestions to hopefully make this quicker and easier for one of them to accept :)
Sorry, something went wrong.
| to divine whether summer time is in effect for the specified time. | ||
|
|
||
| """ | ||
| if isdst != -1: |
There was a problem hiding this comment.
We need to change the default value here to detect when someone is passing in -1 explicitly. None is fine as the new default, or you could add _ignored = object() just before this function and use _ignored as the new default.
Sorry, something went wrong.
| warnings._deprecated("The isdst parameter to localtime", remove=(3,13)) | ||
| if dt is None: | ||
| return datetime.datetime.now(datetime.timezone.utc).astimezone() | ||
| if dt.tzinfo is not None: |
There was a problem hiding this comment.
As mentioned in the issue, this whole function can be reduced to just a thin wrapper around datetime.astimezone():
(Extra code for the deprecated parameter not shown :))
Sorry, something went wrong.
| import socket | ||
| import datetime | ||
| import urllib.parse | ||
| import warnings |
There was a problem hiding this comment.
Since this should generally not be necessary unless someone is passing in a value for isdst, it can be imported where it's used.
Sorry, something went wrong.
|
|
||
| .. versionadded:: 3.3 | ||
|
|
||
| .. deprecated:: 3.11 |
There was a problem hiding this comment.
Since we're specifying in the code that it will be removed in 3.13, we can use the deprecated-removed directive here to also document when it will disappear.
Sorry, something went wrong.
| @@ -345,6 +346,8 @@ def localtime(dt=None, isdst=-1): | |||
| to divine whether summer time is in effect for the specified time. | |||
There was a problem hiding this comment.
The docstring should be updated to remove everything about isdst, and replace it with a simple note that the parameter is ignored. Similar in the documentation.
Sorry, something went wrong.
|
|
||
| """ | ||
| if isdst != -1: | ||
| warnings._deprecated("The isdst parameter to localtime", remove=(3, 13)) |
There was a problem hiding this comment.
Unfortunately, the easy route here makes for an ugly message: 'The isdst argument to localtime' is deprecated .... We need to specify our own message to make it prettier:
| warnings._deprecated("The isdst parameter to localtime", remove=(3, 13)) | |
| warnings._deprecated( | |
| "The 'isdst' parameter to 'localtime'", | |
| message='{name} is deprecated and slated for removal in Python {remove}, | |
| remove=(3, 13), | |
| ) |
Sorry, something went wrong.
| module: | ||
|
|
||
| .. function:: localtime(dt=None) | ||
| .. function:: localtime(dt=None, isdst=-1) |
There was a problem hiding this comment.
Since it wasn't documented before and is being removed, we probably don't want to add it now :). The deprecation note can mention that it was previously undocumented.
Sorry, something went wrong.
| (Contributed by Brett Cannon in :issue:`47061`.) | ||
|
|
||
| * Deprecated the *isdst* parameter in :func:`email.utils.localtime`. | ||
| (Contributed by Alan Williams in :issue:`72346`.) |
There was a problem hiding this comment.
:issue:`72346` will direct to https://bugs.python.org/issue72346, which doesn't exist :). This should now be :gh:`72346` , IIUC.
Sorry, something went wrong.
|
A Python core developer has requested some changes be made to your pull request before we can consider merging it. If you could please address their requests along with any other requests in other reviews from core developers that would be appreciated. Once you have made the requested changes, please leave a comment on this pull request containing the phrase I have made the requested changes; please review again. I will then notify any core developers who have left a review that you're ready for them to take another look at this pull request. |
Sorry, something went wrong.
|
Although it seems that the Azure test isn't working properly (says it passed in the output, but is marked as failed), I have made the requested changes; please review again. |
Sorry, something went wrong.
|
Thanks for making the requested changes! @zware: please review the changes made to this pull request. |
Sorry, something went wrong.
|
Hey @zware, any chance you can take a look at this? |
Sorry, something went wrong.
|
5 months later, yes! LGTM, sorry for the delay. |
Sorry, something went wrong.
This adds a deprecation warning to the isdst parameter in email.utils.localtime. This is my first contribution so any feedback is welcome.