[Python-checkins] r64649 - in python/trunk: Doc/library/urllib.rst Lib/test/test_urllib.py Lib/test/test_urllibnet.py Lib/urllib.py Misc/NEWS

brett.cannon python-checkins at python.org
Wed Jul 2 03:57:09 CEST 2008


Author: brett.cannon
Date: Wed Jul 2 03:57:08 2008
New Revision: 64649
Log:
Handle urllib's renaming for Python 3.0:
* Deprecate urllib.urlopen() in favor of urllib2.urlopen() for 3.0.
* Update docs to mention split/rename of the module and deprecation of
 urlopen().
Changes to lib2to3 are in a separate commit. Work is for issue #2885.
Modified:
 python/trunk/Doc/library/urllib.rst
 python/trunk/Lib/test/test_urllib.py
 python/trunk/Lib/test/test_urllibnet.py
 python/trunk/Lib/urllib.py
 python/trunk/Misc/NEWS
Modified: python/trunk/Doc/library/urllib.rst
==============================================================================
--- python/trunk/Doc/library/urllib.rst	(original)
+++ python/trunk/Doc/library/urllib.rst	Wed Jul 2 03:57:08 2008
@@ -4,6 +4,13 @@
 .. module:: urllib
 :synopsis: Open an arbitrary network resource by URL (requires sockets).
 
+.. note::
+ The :mod:`urllib` module has been split into parts and renamed in
+ Python 3.0 to :mod:`urllib.request`, :mod:`urllib.parse`,
+ and :mod:`urllib.error`. The :term:`2to3` tool will automatically adapt
+ imports when converting your sources to 3.0.
+ Also note that the :func:`urllib.urlopen` function has been removed in
+ Python 3.0 in favor of :func:`urllib2.urlopen`.
 
 .. index::
 single: WWW
@@ -116,6 +123,10 @@
 .. versionchanged:: 2.6
 Added :meth:`getcode` to returned object and support for the
 :envvar:`no_proxy` environment variable.
+ 
+ .. deprecated:: 2.6
+ The :func:`urlopen` function has been removed in Python 3.0 in favor
+ of :func:`urllib2.urlopen`.
 
 
 .. function:: urlretrieve(url[, filename[, reporthook[, data]]])
Modified: python/trunk/Lib/test/test_urllib.py
==============================================================================
--- python/trunk/Lib/test/test_urllib.py	(original)
+++ python/trunk/Lib/test/test_urllib.py	Wed Jul 2 03:57:08 2008
@@ -640,16 +640,20 @@
 
 
 def test_main():
- test_support.run_unittest(
- urlopen_FileTests,
- urlopen_HttpTests,
- urlretrieve_FileTests,
- QuotingTests,
- UnquotingTests,
- urlencode_Tests,
- Pathname_Tests,
- #FTPWrapperTests,
- )
+ import warnings
+ with test_support.catch_warning(record=False):
+ warnings.filterwarnings('ignore', ".*urllib\.urlopen.*Python 3.0",
+ DeprecationWarning)
+ test_support.run_unittest(
+ urlopen_FileTests,
+ urlopen_HttpTests,
+ urlretrieve_FileTests,
+ QuotingTests,
+ UnquotingTests,
+ urlencode_Tests,
+ Pathname_Tests,
+ #FTPWrapperTests,
+ )
 
 
 
Modified: python/trunk/Lib/test/test_urllibnet.py
==============================================================================
--- python/trunk/Lib/test/test_urllibnet.py	(original)
+++ python/trunk/Lib/test/test_urllibnet.py	Wed Jul 2 03:57:08 2008
@@ -182,9 +182,13 @@
 
 def test_main():
 test_support.requires('network')
- test_support.run_unittest(URLTimeoutTest,
- urlopenNetworkTests,
- urlretrieveNetworkTests)
+ from warnings import filterwarnings
+ with test_support.catch_warning(record=False):
+ filterwarnings('ignore', '.*urllib\.urlopen.*Python 3.0',
+ DeprecationWarning)
+ test_support.run_unittest(URLTimeoutTest,
+ urlopenNetworkTests,
+ urlretrieveNetworkTests)
 
 if __name__ == "__main__":
 test_main()
Modified: python/trunk/Lib/urllib.py
==============================================================================
--- python/trunk/Lib/urllib.py	(original)
+++ python/trunk/Lib/urllib.py	Wed Jul 2 03:57:08 2008
@@ -28,6 +28,7 @@
 import time
 import sys
 from urlparse import urljoin as basejoin
+import warnings
 
 __all__ = ["urlopen", "URLopener", "FancyURLopener", "urlretrieve",
 "urlcleanup", "quote", "quote_plus", "unquote", "unquote_plus",
@@ -69,7 +70,11 @@
 # Shortcut for basic usage
 _urlopener = None
 def urlopen(url, data=None, proxies=None):
- """urlopen(url [, data]) -> open file-like object"""
+ """Create a file-like object for the specified URL to read from."""
+ from warnings import warnpy3k
+ warnings.warnpy3k("urllib.urlopen() has been removed in Python 3.0 in "
+ "favor of urllib2.urlopen()", stacklevel=2)
+
 global _urlopener
 if proxies is not None:
 opener = FancyURLopener(proxies=proxies)
Modified: python/trunk/Misc/NEWS
==============================================================================
--- python/trunk/Misc/NEWS	(original)
+++ python/trunk/Misc/NEWS	Wed Jul 2 03:57:08 2008
@@ -29,11 +29,24 @@
 would not cause a syntax error. This was regression from 2.4 caused by the
 switch to the new compiler.
 
+
+Library
+-------
+
+- Issue #2885 (partial): The urllib.urlopen() function has been deprecated for
+ removal in Python 3.0 in favor of urllib2.urlopen().
+
+- Issue #2885 (partial): lib2to3 has been updated to handle the renaming of the
+ urllib module in Python 3.0 to urllib.request, urllib.parse, and
+ urllib.error.
+
+
 Build
 -----
 
 - Issue #3215: Build sqlite3 as sqlite3.dll, not sqlite3.pyd.
 
+
 What's New in Python 2.6 beta 1?
 ================================
 


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /