[Python-bugs-list] [ python-Bugs-767111 ] AttributeError thrown by urllib.open_http
SourceForge.net
noreply@sourceforge.net
Wed, 16 Jul 2003 21:34:03 -0700
Bugs item #767111, was opened at 2003-07-07 22:52
Message generated for change (Comment added) made by zenzen
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=767111&group_id=5470
Category: Python Library
Group: Python 2.3
Status: Open
Resolution: None
Priority: 7
Submitted By: Stuart Bishop (zenzen)
Assigned to: Nobody/Anonymous (nobody)
Summary: AttributeError thrown by urllib.open_http
Initial Comment:
In 2.3b2, looks like an error condition isn't being picked up
on line 300 or 301 of urllib.py.
The code that triggered this traceback was simply:
url = urllib.urlopen(action, data)
Traceback (most recent call last):
File "autospamrep.py", line 170, in ?
current_page = handle_spamcop_page(current_page)
File "autospamrep.py", line 140, in handle_spamcop_page
url = urllib.urlopen(action, data)
File "/Library/Frameworks/Python.framework/Versions/2.3/
lib/python2.3/urllib.py", line 78, in urlopen
return opener.open(url, data)
File "/Library/Frameworks/Python.framework/Versions/2.3/
lib/python2.3/urllib.py", line 183, in open
return getattr(self, name)(url, data)
File "/Library/Frameworks/Python.framework/Versions/2.3/
lib/python2.3/urllib.py", line 308, in open_http
return self.http_error(url, fp, errcode, errmsg, headers,
data)
File "/Library/Frameworks/Python.framework/Versions/2.3/
lib/python2.3/urllib.py", line 323, in http_error
return self.http_error_default(url, fp, errcode, errmsg,
headers)
File "/Library/Frameworks/Python.framework/Versions/2.3/
lib/python2.3/urllib.py", line 551, in http_error_default
return addinfourl(fp, headers, "http:" + url)
File "/Library/Frameworks/Python.framework/Versions/2.3/
lib/python2.3/urllib.py", line 837, in __init__
addbase.__init__(self, fp)
File "/Library/Frameworks/Python.framework/Versions/2.3/
lib/python2.3/urllib.py", line 787, in __init__
self.read = self.fp.read
AttributeError: 'NoneType' object has no attribute 'read'
----------------------------------------------------------------------
>Comment By: Stuart Bishop (zenzen)
Date: 2003-07-17 14:34
Message:
Logged In: YES
user_id=46639
I've finally managed to get another traceback with some more
information, using an assert I inserted into urllib.py a while ago to
catch .fp == None:
Traceback (most recent call last):
File "/Users/zen/bin/autospamrep.py", line 168, in ?
current_page = urllib.urlopen(start_url).read()
File "/Library/Frameworks/Python.framework/Versions/2.3/lib/
python2.3/urllib.py", line 76, in urlopen
return opener.open(url)
File "/Library/Frameworks/Python.framework/Versions/2.3/lib/
python2.3/urllib.py", line 181, in open
return getattr(self, name)(url)
File "/Library/Frameworks/Python.framework/Versions/2.3/lib/
python2.3/urllib.py", line 305, in open_http
assert fp is not None, 'errcode %r, errmsg %r, headers %r' %
(errcode, errmsg, headers)
AssertionError: errcode -1, errmsg '', headers None
----------------------------------------------------------------------
Comment By: John J Lee (jjlee)
Date: 2003-07-12 23:14
Message:
Logged In: YES
user_id=261020
HTTPResponse.read returns '' if its .fp is None, but the
backwards-compat HTTP class' .getfile() just returns self.file,
which it previously grabbed from HTTPResponse in .getreply().
Wild guess: maybe HTTP.getreply should just do
self.file = response
rather than
self.file = response.fp
The object returned by HTTP.getfile() was documented as
returning an object supporting .readline() and .readlines(),
while HTTPResponse only supports .read(), so that's obviously
not the whole solution.
----------------------------------------------------------------------
Comment By: Raymond Hettinger (rhettinger)
Date: 2003-07-09 15:50
Message:
Logged In: YES
user_id=80475
What were the values of 'action' and 'data' when the call was
made?
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=767111&group_id=5470