Commit 49df9215 authored by Facundo Batista's avatar Facundo Batista

Issue #23887: urllib.error.HTTPError now has a proper repr() representation.

parent 09248713
This diff is collapsed.
...@@ -35,6 +35,7 @@ class URLError(OSError): ...@@ -35,6 +35,7 @@ class URLError(OSError):
def __str__(self): def __str__(self):
return '<urlopen error %s>' % self.reason return '<urlopen error %s>' % self.reason
class HTTPError(URLError, urllib.response.addinfourl): class HTTPError(URLError, urllib.response.addinfourl):
"""Raised when HTTP error occurs, but also acts like non-error return""" """Raised when HTTP error occurs, but also acts like non-error return"""
__super_init = urllib.response.addinfourl.__init__ __super_init = urllib.response.addinfourl.__init__
...@@ -55,6 +56,9 @@ class HTTPError(URLError, urllib.response.addinfourl): ...@@ -55,6 +56,9 @@ class HTTPError(URLError, urllib.response.addinfourl):
def __str__(self): def __str__(self):
return 'HTTP Error %s: %s' % (self.code, self.msg) return 'HTTP Error %s: %s' % (self.code, self.msg)
def __repr__(self):
return '<HTTPError %s: %r>' % (self.code, self.msg)
# since URLError specifies a .reason attribute, HTTPError should also # since URLError specifies a .reason attribute, HTTPError should also
# provide this attribute. See issue13211 for discussion. # provide this attribute. See issue13211 for discussion.
@property @property
...@@ -69,8 +73,9 @@ class HTTPError(URLError, urllib.response.addinfourl): ...@@ -69,8 +73,9 @@ class HTTPError(URLError, urllib.response.addinfourl):
def headers(self, headers): def headers(self, headers):
self.hdrs = headers self.hdrs = headers
# exception raised when downloaded size does not match content-length
class ContentTooShortError(URLError): class ContentTooShortError(URLError):
"""Exception raised when downloaded size does not match content-length."""
def __init__(self, message, content): def __init__(self, message, content):
URLError.__init__(self, message) URLError.__init__(self, message)
self.content = content self.content = content
...@@ -33,6 +33,9 @@ Library ...@@ -33,6 +33,9 @@ Library
- Issue #23728: binascii.crc_hqx() could return an integer outside of the range - Issue #23728: binascii.crc_hqx() could return an integer outside of the range
0-0xffff for empty data. 0-0xffff for empty data.
- Issue #23887: urllib.error.HTTPError now has a proper repr() representation.
Patch by Berker Peksag.
What's New in Python 3.5.0 alpha 4? What's New in Python 3.5.0 alpha 4?
=================================== ===================================
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment