From 98e931fccd29e629ea47636992fb423b995de6da Mon Sep 17 00:00:00 2001 From: Anthony Baxter Date: Wed, 5 Dec 2001 06:34:34 +0000 Subject: [PATCH] backport 1.17: Fix SF bug [ #447370 ] typo in urllib2.py Also fix another bug caught by pychecker-- HTTPError() raised when redirect limit exceed did not pass an fp object. Had to change method to keep fp object around until it's certain that the error won't be raised. Remove useless line in do_proxy(). --- Lib/urllib2.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Lib/urllib2.py b/Lib/urllib2.py index 5685c82d0bee..b47765b0d13d 100644 --- a/Lib/urllib2.py +++ b/Lib/urllib2.py @@ -436,9 +436,6 @@ class HTTPRedirectHandler(BaseHandler): newurl = headers['uri'] else: return - nil = fp.read() - fp.close() - newurl = urlparse.urljoin(req.get_full_url(), newurl) # XXX Probably want to forget about the state of the current @@ -450,9 +447,15 @@ class HTTPRedirectHandler(BaseHandler): if len(req.error_302_dict)>10 or \ req.error_302_dict.has_key(newurl): raise HTTPError(req.get_full_url(), code, - self.inf_msg + msg, headers) + self.inf_msg + msg, headers, fp) new.error_302_dict.update(req.error_302_dict) new.error_302_dict[newurl] = newurl + + # Don't close the fp until we are sure that we won't use it + # with HTTPError. + fp.read() + fp.close() + return self.parent.open(new) http_error_301 = http_error_302 @@ -525,7 +528,6 @@ class CustomProxyHandler(BaseHandler): return None def do_proxy(self, p, req): - p return self.parent.open(req) def add_proxy(self, cpo): @@ -659,7 +661,7 @@ class AbstractDigestAuthHandler: def __init__(self, passwd=None): if passwd is None: - passwd = HTTPPassowrdMgr() + passwd = HTTPPasswordMgr() self.passwd = passwd self.add_password = self.passwd.add_password self.__current_realm = None @@ -1051,7 +1053,7 @@ class OpenerFactory: pass def build_opener(self): - opener = OpenerDirectory() + opener = OpenerDirector() for ph in self.proxy_handlers: if type(ph) == types.ClassType: ph = ph() -- 2.47.3