Issue 6916: Remove deprecated items from asynchat (original) (raw)

process

Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: giampaolo.rodola Nosy List: BreamoreBoy, berker.peksag, docs@python, ezio.melotti, georg.brandl, giampaolo.rodola, josiahcarlson, lehmannro, python-dev, rhettinger, vstinner
Priority: high Keywords: easy, patch

Created on 2009-09-15 05:55 by lehmannro, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
asynchat.patch lehmannro,2009-09-15 05:55 patch for asynchat.py and test/test_asynchat.py
use-assertwarns.diff berker.peksag,2014-06-22 14:39 review
Messages (16)
msg92645 - (view) Author: Robert Lehmann (lehmannro) * Date: 2009-09-15 05:55
The patches in deprecated fifo and simple_producers. These are safe for removal in Python 3.0. I attached a patch purging fifo and simple_producers from py3k code and tests. The docs are mostly trivial as well but also touched by my other issue so I'd like that to settle first, otherwise this might result in a merge conflict.
msg104286 - (view) Author: Giampaolo Rodola' (giampaolo.rodola) * (Python committer) Date: 2010-04-26 23:20
I seem to remember that those classes were initially removed and then re-added by Josiah for backward compatibility (see discussions in issue 1641 and issue 1736190). Despite practically useless after the changes applied to asynchat in Python 2.6, both classes are there since the very first checkin of asynchat.py, and the common policy in this case is to grant compatibility with older code, just in case few person out of many still rely on it. I'd be more for stopping to mention them in the documentation, also because now that I look at it, the doc is wrong as it claims that "Each channel maintains a fifo" while this is no longer true since fifo() has been replaced by a deque().
msg195470 - (view) Author: Ezio Melotti (ezio.melotti) * (Python committer) Date: 2013-08-17 14:14
What's the status of this?
msg220507 - (view) Author: Mark Lawrence (BreamoreBoy) * Date: 2014-06-13 22:21
Is it worth the effort of committing changes like this when according to https://docs.python.org/3/library/asynchat.html#module-asynchat "This module exists for backwards compatibility only. For new code we recommend using asyncio."? See also .
msg220558 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2014-06-14 15:04
New changeset 42a645d74e9d by Giampaolo Rodola' in branch 'default': fix issue #6916: undocument deprecated asynchat.fifo class.q http://hg.python.org/cpython/rev/42a645d74e9d
msg220559 - (view) Author: Giampaolo Rodola' (giampaolo.rodola) * (Python committer) Date: 2014-06-14 15:05
I simply removed asynchat.fifo documentation. Closing this out.
msg221132 - (view) Author: Ezio Melotti (ezio.melotti) * (Python committer) Date: 2014-06-20 22:57
I don't think removing the documentation for a deprecated item is a good solution. If people find it somewhere (old code, googling, via dir()) and find no related documentation, they might keep using it. If it's clearly documented that the item exists but it's deprecated, people will avoid it (or at least be aware of what it does and the reason why it's deprecated). I think it would be better to add back the documentation with a deprecated-removed directive, and possibly add warnings in the code (if they are not there already). In future versions we can remove code and docs together.
msg221143 - (view) Author: Raymond Hettinger (rhettinger) * (Python committer) Date: 2014-06-21 02:01
> I don't think removing the documentation for a deprecated item is a good solution. Dedocumenting is a reasonable thing to do and I believe we've done it several times before, leaving code only so as to not break anything. I expect this code to get zero maintenance as it fades into oblivion.
msg221160 - (view) Author: Ezio Melotti (ezio.melotti) * (Python committer) Date: 2014-06-21 08:20
IMHO until the code is there, the documentation also should be there -- even if it just to acknowledge the existence of the code and signal its deprecation. Whether the code is eventually removed or not it's a separate issue.
msg221173 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2014-06-21 11:59
New changeset 233168a2a656 by Giampaolo Rodola' in branch 'default': #6916: raise a deprecation warning if using asynchat.fifo http://hg.python.org/cpython/rev/233168a2a656
msg221174 - (view) Author: Giampaolo Rodola' (giampaolo.rodola) * (Python committer) Date: 2014-06-21 12:01
Signaling the deprecation or just the existence of asynchat.fifo really isn't worth the effort because the code is no longer used since fifo was replaced with a deque in python 2.6. Basically it's dead code and the only reason it remained there is because there were some complaints about a compatibility breakage when the 2.6 patch was applied, but I remember fifo class had nothing to do with it. FWIW I added a deprecation warning and scheduled asynchat.fifo for removal in python 3.6 but IMO it is not worth it to mention it in the doc.
msg221188 - (view) Author: Raymond Hettinger (rhettinger) * (Python committer) Date: 2014-06-21 19:04
The tests are failing: ====================================================================== ERROR: test_basic (test.test_asynchat.TestFifo) ---------------------------------------------------------------------- Traceback (most recent call last): File "/Users/raymond/cpython/Lib/test/test_asynchat.py", line 266, in test_basic assert issubclass(w[0].category, DeprecationWarning) IndexError: list index out of range ====================================================================== ERROR: test_given_list (test.test_asynchat.TestFifo) ---------------------------------------------------------------------- Traceback (most recent call last): File "/Users/raymond/cpython/Lib/test/test_asynchat.py", line 283, in test_given_list assert issubclass(w[0].category, DeprecationWarning) IndexError: list index out of range
msg221246 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2014-06-22 10:44
New changeset aeeb385e61e4 by Giampaolo Rodola' in branch 'default': #6916: attempt to fix BB failure http://hg.python.org/cpython/rev/aeeb385e61e4
msg221255 - (view) Author: Berker Peksag (berker.peksag) * (Python committer) Date: 2014-06-22 14:39
Would using assertWarns be more suitable here? Attached a patch.
msg222531 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2014-07-07 22:41
asynchat.fifo is now explicitly marked as deprecated and scheduled for removal in Python 3.6. I consider that the issue is done and so I'm closing it. Reopen a more specific issue if you consider that there is still something to do. @Berker: You may apply use-assertwarns.diff yourself, I have no opinion, but your patch doesn't apply cleanly anymore.
msg222593 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2014-07-09 00:12
New changeset 486c1a81ee32 by Berker Peksag in branch 'default': Issue #6916: Use assertWarns in test_asynchat. http://hg.python.org/cpython/rev/486c1a81ee32
History
Date User Action Args
2022-04-11 14:56:53 admin set github: 51165
2014-07-09 00:12:40 python-dev set messages: +
2014-07-09 00:03:46 berker.peksag set stage: needs patch -> resolved
2014-07-07 22:41:49 vstinner set status: open -> closednosy: + vstinnermessages: + resolution: fixed
2014-06-22 14:39:52 berker.peksag set files: + use-assertwarns.diffnosy: + berker.peksagmessages: + keywords: + patch
2014-06-22 10:44:17 python-dev set messages: +
2014-06-21 19:04:16 rhettinger set priority: normal -> highresolution: fixed -> (no value)
2014-06-21 19:04:02 rhettinger set messages: +
2014-06-21 12:01:53 giampaolo.rodola set resolution: fixedmessages: +
2014-06-21 11:59:34 python-dev set messages: +
2014-06-21 08:20:48 ezio.melotti set messages: +
2014-06-21 02:01:51 rhettinger set nosy: + rhettingermessages: +
2014-06-20 22:57:03 ezio.melotti set status: closed -> opentype: enhancementmessages: + keywords: + easy, - patchresolution: fixed -> (no value)stage: patch review -> needs patch
2014-06-14 15:05:15 giampaolo.rodola set status: open -> closedresolution: fixedmessages: + versions: + Python 3.5, - Python 3.2
2014-06-14 15:04:11 python-dev set nosy: + python-devmessages: +
2014-06-13 22:21:49 BreamoreBoy set nosy: + BreamoreBoymessages: +
2013-08-17 14:14:23 ezio.melotti set nosy: + ezio.melottimessages: +
2010-09-04 00:06:59 pitrou set assignee: josiahcarlson -> giampaolo.rodolastage: patch reviewversions: - Python 3.0, Python 3.1
2010-05-16 19:23:07 eric.araujo set nosy: + docs@python
2010-04-26 23:20:13 giampaolo.rodola set messages: +
2010-04-15 18:41:02 giampaolo.rodola set nosy: + giampaolo.rodola
2009-09-15 07:20:43 georg.brandl set assignee: georg.brandl -> josiahcarlsonnosy: + josiahcarlson
2009-09-15 05:55:55 lehmannro create