changeset: 82268:acf247d25f17 user: R David Murray date: Tue Feb 19 18:32:28 2013 -0500 files: Lib/ftplib.py Lib/test/test_ftplib.py Misc/NEWS description: #6623: Add explicit deprecation warning for ftplib.Netrc. diff -r d404d33a999c -r acf247d25f17 Lib/ftplib.py --- a/Lib/ftplib.py Tue Feb 19 12:20:32 2013 -0500 +++ b/Lib/ftplib.py Tue Feb 19 18:32:28 2013 -0500 @@ -39,6 +39,7 @@ import os import sys import socket +import warnings from socket import _GLOBAL_DEFAULT_TIMEOUT __all__ = ["FTP","Netrc"] @@ -953,6 +954,8 @@ __defacct = None def __init__(self, filename=None): + warnings.warn("This class is deprecated, use the netrc module instead", + DeprecationWarning, 2) if filename is None: if "HOME" in os.environ: filename = os.path.join(os.environ["HOME"], diff -r d404d33a999c -r acf247d25f17 Lib/test/test_ftplib.py --- a/Lib/test/test_ftplib.py Tue Feb 19 12:20:32 2013 -0500 +++ b/Lib/test/test_ftplib.py Tue Feb 19 18:32:28 2013 -0500 @@ -985,8 +985,19 @@ ftp.close() +class TestNetrcDeprecation(TestCase): + + def test_deprecation(self): + with support.temp_cwd(), support.EnvironmentVarGuard() as env: + env['HOME'] = os.getcwd() + open('.netrc', 'w').close() + with self.assertWarns(DeprecationWarning): + ftplib.Netrc() + + + def test_main(): - tests = [TestFTPClass, TestTimeouts] + tests = [TestFTPClass, TestTimeouts, TestNetrcDeprecation] if support.IPV6_ENABLED: tests.append(TestIPv6Environment) diff -r d404d33a999c -r acf247d25f17 Misc/NEWS --- a/Misc/NEWS Tue Feb 19 12:20:32 2013 -0500 +++ b/Misc/NEWS Tue Feb 19 18:32:28 2013 -0500 @@ -260,6 +260,9 @@ Library ------- +- Issue #6623: Added explicit DeprecationWarning for ftplib.netrc, which has + been deprecated and undocumented for a long time. + - Issue #13700: Fix byte/string handling in imaplib authentication when an authobject is specified.