Catherine Devlin added the comment:
It's very hard to tell what ought to be done here, since Lib/urllib/request.py
throws URLErrors with a great variety of order and number of arguments, and
it's not clear how URLError (in Lib/urllib/error.py) intends to handle them.
However, in this case, AbstractHTTPHandler.do_open is instantiating URLError
with another exception instance, and that exception contains .errno and
.strerror. URLError puts the entire error instance into ``reason``, where the
information is hidden away as .reason.strno and .reason.strerror.
In the name of keeping this information available rather than hiding it, I'm
attaching a patch that adds to URLError.__init__:
if hasattr(reason, "errno"):
self.errno = reason.errno
if hasattr(reason, "strerror"):
self.strerror = reason.strerror
Again, I'm not sure this is the most logical approach because I can't find a
consistent pattern in the ways URLError is instantiated.
----------
keywords: +patch
nosy: +catherine
Added file: http://bugs.python.org/file26559/keeperrdata.patch
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue6471>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com