cpython: eab274c7d456 (original) (raw)

Mercurial > cpython

changeset 75640:eab274c7d456

deprecated the old urllib primitives in 3.3 urllib package - issue 10050 [#10050]

Senthil Kumaran senthil@uthcode.com
date Wed, 14 Mar 2012 13:43:53 -0700
parents 6700fd345835
children f1829281fdc8 30f13d7fecd0
files Doc/library/urllib.request.rst Lib/test/test_urllib.py Lib/test/test_urllib2.py Lib/urllib/request.py
diffstat 4 files changed, 112 insertions(+), 51 deletions(-)[+] [-] Doc/library/urllib.request.rst 92 Lib/test/test_urllib.py 4 Lib/test/test_urllib2.py 23 Lib/urllib/request.py 44

line wrap: on

line diff

--- a/Doc/library/urllib.request.rst +++ b/Doc/library/urllib.request.rst @@ -385,12 +385,6 @@ request. .. versionadded:: 3.3 -.. method:: Request.add_data(data) -

.. method:: Request.get_method() @@ -403,16 +397,6 @@ request. get_method now looks at the value of :attr:Request.method. -.. method:: Request.has_data() -

- -.. method:: Request.get_data() -

- .. method:: Request.add_header(key, val) Add another header to the request. Headers are currently ignored by all @@ -440,21 +424,6 @@ request. Return the URL given in the constructor. -.. method:: Request.get_type() -

- -.. method:: Request.get_host() -

- -.. method:: Request.get_selector() -

- .. method:: Request.set_proxy(host, type) Prepare the request by connecting to a proxy server. The host and type will @@ -462,16 +431,71 @@ request. URL given in the constructor. +.. method:: Request.add_data(data) +

+ +.. method:: Request.has_data() +

+ +.. method:: Request.get_data() +

+ +.. method:: Request.get_type() +

+ +.. method:: Request.get_host() +

+ +.. method:: Request.get_selector() +

+ .. method:: Request.get_origin_req_host()

.. method:: Request.is_unverifiable() Return whether the request is unverifiable, as defined by RFC 2965. See the

.. _opener-director-objects:

--- a/Lib/test/test_urllib.py +++ b/Lib/test/test_urllib.py @@ -298,6 +298,10 @@ Content-Type: text/html; charset=iso-885 finally: self.unfakehttp()

+ class urlretrieve_FileTests(unittest.TestCase): """Test urllib.urlretrieve() on local files"""

--- a/Lib/test/test_urllib2.py +++ b/Lib/test/test_urllib2.py @@ -553,10 +553,6 @@ class OpenerDirectorTests(unittest.TestC self.assertRaises(urllib.error.URLError, o.open, req) self.assertEqual(o.calls, [(handlers[0], "http_open", (req,), {})]) -## def test_error(self): -## # XXX this doesn't actually seem to be used in standard library, -## # but should really be tested anyway... - def test_http_error(self): # XXX http_error_default # http errors are a special case @@ -584,6 +580,7 @@ class OpenerDirectorTests(unittest.TestC self.assertEqual((handler, method_name), got[:2]) self.assertEqual(args, got[2]) + def test_processors(self): # *_request / *_response methods get called appropriately o = OpenerDirector() @@ -619,6 +616,24 @@ class OpenerDirectorTests(unittest.TestC self.assertTrue(args[1] is None or isinstance(args[1], MockResponse))

def sanepathname2url(path): try:

--- a/Lib/urllib/request.py +++ b/Lib/urllib/request.py @@ -96,6 +96,7 @@ import time import collections import tempfile import contextlib +import warnings from urllib.error import URLError, HTTPError, ContentTooShortError @@ -291,36 +292,52 @@ class Request: else: return "GET"

-

-

-

- def get_full_url(self): if self.fragment: return '%s#%s' % (self.full_url, self.fragment) else: return self.full_url

+

+

+

+ def get_type(self):

def get_host(self):

def get_selector(self):

def is_unverifiable(self):

def get_origin_req_host(self):

# End deprecated methods @@ -1552,6 +1569,9 @@ class URLopener: # Constructor def init(self, proxies=None, **x509):

@@ -1753,7 +1773,6 @@ class URLopener: if proxy_bypass(realhost): host = realhost

if proxy_passwd: @@ -2554,7 +2573,6 @@ elif os.name == 'nt': test = test.replace("", r".") # change glob sequence test = test.replace("?", r".") # change glob char for val in host: