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:
Brett Cannon 2008-07-02 01:57:08 +00:00
parent aac51b8a69
commit 8bb8fa5dd6
5 changed files with 51 additions and 14 deletions

View file

@ -640,16 +640,20 @@ class Pathname_Tests(unittest.TestCase):
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,
)

View file

@ -182,9 +182,13 @@ class urlretrieveNetworkTests(unittest.TestCase):
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()

View file

@ -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)