classification
Title: Lib/ftplib.py Netrc class should be removed.
Type: enhancement Stage: needs patch
Components: Library (Lib) Versions: Python 3.5
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: maatt, python-dev, r.david.murray, vincele
Priority: release blocker Keywords: patch

Created on 2009-08-01 22:25 by vincele, last changed 2014-04-14 21:23 by r.david.murray.

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.
Messages (8)
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) 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 :)
History
Date User Action Args
2014-04-14 21:23:20r.david.murraysetmessages: + msg216223
2014-04-14 15:23:28maattsetfiles: + remove_Netrc_class2.patch

messages: + msg216092
2014-04-14 01:00:47r.david.murraysetmessages: + msg216042
2014-04-13 22:43:52maattsetfiles: + remove_Netrc_class.patch
nosy: + maatt
messages: + msg216037

2013-02-19 23:40:46r.david.murraysetpriority: normal -> release blocker

type: enhancement

title: Lib/ftplib.py netrc class parsing problem -> Lib/ftplib.py Netrc class should be removed.
nosy: + r.david.murray
versions: + Python 3.5, - Python 3.2
messages: + msg182454
stage: needs patch
2013-02-19 23:33:46python-devsetnosy: + python-dev
messages: + msg182453
2009-08-04 22:04:31vincelesetmessages: + msg91278
2009-08-01 22:29:40vincelesetfiles: + py3k-ftplib.py-use-before-assignment.patch
keywords: + patch
messages: + msg91176

title: Lib/ftplib.py -> Lib/ftplib.py netrc class parsing problem
2009-08-01 22:25:35vincelecreate