Issue 6623: Lib/ftplib.py Netrc class should be removed. (original) (raw)

Created on 2009-08-01 22:25 by vincele, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
py3k-ftplib.py-use-before-assignment.patch vincele,2009-08-01 22:29 fix for the macro parsing in ftplib review
remove_Netrc_class.patch maatt,2014-04-13 22:43
remove_Netrc_class2.patch maatt,2014-04-14 15:23 Fix to remove deprecated Netrc class.
issue6623.diff berker.peksag,2014-10-05 03:00 review
Messages (13)
msg91176 - (view) Author: Vincent Legoll (vincele) Date: 2009-08-01 22:29
The 'macro_lines' list should probably be emptied upon leaving macro parsing mode. Simplify code by using the 'macro_name' variable as the boolean for macro parsing mode. Deprecated code probably should be fixed until completely removed
msg91278 - (view) Author: Vincent Legoll (vincele) Date: 2009-08-04 22:04
If the macro_lines is not emptied upon end of parsing a macro definition, if there's another macro definiton it will 'inherit' the lines from the previous one, which could very well be uncool. The use before definition should also be fixed. Please advise if a better fix would be to completely remove the Netrc class from ftplib, or replace it with a compatibility wrapper that use the netrc module.
msg182453 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2013-02-19 23:33
New changeset acf247d25f17 by R David Murray in branch 'default': #6623: Add explicit deprecation warning for ftplib.Netrc. http://hg.python.org/cpython/rev/acf247d25f17
msg182454 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2013-02-19 23:40
Thanks for the report. ftplib.Netrc has been deprecated (via its doc string) since at least Python 2.4, and is no longer documented in the library reference. I've added an explicit DeprecationWarning in Python 3.4, and have altered this issue to call for its complete removal in Python 3.5. I am not planning to fix the existing code, because IMO with deprecated code this old the chance of breaking something exceeds the chance that the bad code will do harm.
msg216037 - (view) Author: Matt Chaput (maatt) Date: 2014-04-13 22:43
Created patch to remove the Netrc class and its unit tests (for Python 3.5).
msg216042 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2014-04-14 01:00
This looks good, except that if we are not going to delete that test routine (and we aren't because we didn't deprecate it :) I think we should instead replace the usage of Netrc with the netrc module.
msg216092 - (view) Author: Matt Chaput (maatt) Date: 2014-04-14 15:23
This patch is the same as my previous one, except instead of removing Netrc usage from the ftplib.test() function, it replaces it with the netrc.netrc object. Note that there are no existing tests for the ftplib.test() function. Also did some very minor cleanups (bare raise is no longer valid) to get rid of warnings/errors in static analyzer.
msg216223 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2014-04-14 21:23
Did you hand test it? Also, you could open a new issue to add tests for the ftplib cli, and probably improve and document it? It was designed as a test, but some people may be using it and it might even be actually useful :)
msg227705 - (view) Author: Francis MB (francismb) * Date: 2014-09-27 18:15
I've downloaded 'remove_Netrc_class2.patch' and passes the test suite, the examples on the documentation run ok and manually from the command line: hgtipchangeset:92597:e29866cb6b98tag:tipparent:92594:d43d4d4ebf2cparent:92596:54987723de99...hg tip changeset: 92597:e29866cb6b98 tag: tip parent: 92594:d43d4d4ebf2c parent: 92596:54987723de99 ... hgtipchangeset:92597:e29866cb6b98tag:tipparent:92594:d43d4d4ebf2cparent:92596:54987723de99... hg status M Lib/ftplib.py M Lib/test/test_ftplib.py ? Modules/_testembed $ ./python -m ftplib -d ftp.debian.org -ddebian *cmd* 'USER anonymous' *resp* '331 Please specify the password.' *cmd* 'PASS *********' *resp* '230 Login successful.' *cmd* 'CWD debian' *resp* '250 Directory successfully changed.' *cmd* 'QUIT' *resp* '221 Goodbye.' My test '.netrc' file was: $ cat ~/.netrc machine ftp.debian.org login anonymous password anonymous The patch also looks good for me.
msg227708 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2014-09-27 18:28
Great. The patch looks good to me, too. Can someone add a What's New removal entry to the patch? (See the 3.4 What's New for a model of what removals look like in What's New.) (It would also be nice if the patch were in hg format so that we get a 'review' link, but that's not critical as I don't think we need a line-by-line review here).
msg228531 - (view) Author: Berker Peksag (berker.peksag) * (Python committer) Date: 2014-10-05 03:00
Here's a patch with a whatsnew entry.
msg230437 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2014-11-01 08:46
New changeset ec196a99af8d by Berker Peksag in branch 'default': Issue #6623: Remove deprecated Netrc class in the ftplib module. https://hg.python.org/cpython/rev/ec196a99af8d
msg230438 - (view) Author: Berker Peksag (berker.peksag) * (Python committer) Date: 2014-11-01 08:52
Thanks for the patch, Matt. Have you signed a contributor's agreement? You can find it at https://www.python.org/psf/contrib/contrib-form/
History
Date User Action Args
2022-04-11 14:56:51 admin set github: 50872
2014-11-01 08:52:37 berker.peksag set status: open -> closedpriority: release blocker -> normalmessages: + assignee: berker.peksagresolution: fixedstage: patch review -> resolved
2014-11-01 08:46:04 python-dev set messages: +
2014-10-05 03:00:32 berker.peksag set files: + issue6623.diffmessages: + stage: needs patch -> patch review
2014-09-27 18:28:14 r.david.murray set messages: + stage: patch review -> needs patch
2014-09-27 18:20:16 berker.peksag set nosy: + berker.peksagstage: needs patch -> patch review
2014-09-27 18:15:37 francismb set nosy: + francismbmessages: +
2014-04-14 21:23:20 r.david.murray set messages: +
2014-04-14 15:23:28 maatt set files: + remove_Netrc_class2.patchmessages: +
2014-04-14 01:00:47 r.david.murray set messages: +
2014-04-13 22:43:52 maatt set files: + remove_Netrc_class.patchnosy: + maattmessages: +
2013-02-19 23:40:46 r.david.murray set priority: normal -> release blockertype: enhancementtitle: Lib/ftplib.py netrc class parsing problem -> Lib/ftplib.py Netrc class should be removed.nosy: + r.david.murrayversions: + Python 3.5, - Python 3.2messages: + stage: needs patch
2013-02-19 23:33:46 python-dev set nosy: + python-devmessages: +
2009-08-04 22:04:31 vincele set messages: +
2009-08-01 22:29:40 vincele set files: + py3k-ftplib.py-use-before-assignment.patchkeywords: + patchmessages: + title: Lib/ftplib.py -> Lib/ftplib.py netrc class parsing problem
2009-08-01 22:25:35 vincele create