mirror of
https://github.com/python/cpython.git
synced 2025-07-29 06:05:00 +00:00
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.
This commit is contained in:
parent
aac51b8a69
commit
8bb8fa5dd6
5 changed files with 51 additions and 14 deletions
|
@ -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
|
||||
|
@ -117,6 +124,10 @@ High-level interface
|
|||
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]]])
|
||||
|
||||
|
|
|
@ -640,6 +640,10 @@ class Pathname_Tests(unittest.TestCase):
|
|||
|
||||
|
||||
def test_main():
|
||||
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,
|
||||
|
|
|
@ -182,6 +182,10 @@ class urlretrieveNetworkTests(unittest.TestCase):
|
|||
|
||||
def test_main():
|
||||
test_support.requires('network')
|
||||
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)
|
||||
|
|
|
@ -28,6 +28,7 @@ import os
|
|||
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 @@ else:
|
|||
# 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)
|
||||
|
|
13
Misc/NEWS
13
Misc/NEWS
|
@ -29,11 +29,24 @@ Core and Builtins
|
|||
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?
|
||||
================================
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue