Now that Defects are Exception subclasses, call super.

The behavior of MessageDefect is legacy behavior.  The chances anyone is
actually using the undocumented 'line' attribute is low, but it costs
little to retain backward compatibility.  Although one of the costs is
having to restore normal exception behavior in HeaderDefect.  On the
other hand, I'll probably add some specialized behavior there later.
This commit is contained in:
R David Murray 2012-06-08 22:45:46 -04:00
parent 5248a2d3c1
commit 6e50b699ac
1 changed files with 5 additions and 0 deletions

View File

@ -34,6 +34,8 @@ class MessageDefect(ValueError):
"""Base class for a message defect."""
def __init__(self, line=None):
if line is not None:
super().__init__(line)
self.line = line
class NoBoundaryInMultipartDefect(MessageDefect):
@ -76,6 +78,9 @@ class InvalidBase64CharactersDefect(MessageDefect):
class HeaderDefect(MessageDefect):
"""Base class for a header defect."""
def __init__(self, *args, **kw):
super().__init__(*args, **kw)
class InvalidHeaderDefect(HeaderDefect):
"""Header is not valid, message gives details."""