| # Copyright (C) 2001-2006 Python Software Foundation |
| # Author: Barry Warsaw |
| # Contact: email-sig@python.org |
| |
| """email package exception classes.""" |
| |
| |
| |
| class MessageError(Exception): |
| """Base class for errors in the email package.""" |
| |
| |
| class MessageParseError(MessageError): |
| """Base class for message parsing errors.""" |
| |
| |
| class HeaderParseError(MessageParseError): |
| """Error while parsing headers.""" |
| |
| |
| class BoundaryError(MessageParseError): |
| """Couldn't find terminating boundary.""" |
| |
| |
| class MultipartConversionError(MessageError, TypeError): |
| """Conversion to a multipart is prohibited.""" |
| |
| |
| class CharsetError(MessageError): |
| """An illegal charset was given.""" |
| |
| |
| |
| # These are parsing defects which the parser was able to work around. |
| class MessageDefect: |
| """Base class for a message defect.""" |
| |
| def __init__(self, line=None): |
| self.line = line |
| |
| class NoBoundaryInMultipartDefect(MessageDefect): |
| """A message claimed to be a multipart but had no boundary parameter.""" |
| |
| class StartBoundaryNotFoundDefect(MessageDefect): |
| """The claimed start boundary was never found.""" |
| |
| class FirstHeaderLineIsContinuationDefect(MessageDefect): |
| """A message had a continuation line as its first header line.""" |
| |
| class MisplacedEnvelopeHeaderDefect(MessageDefect): |
| """A 'Unix-from' header was found in the middle of a header block.""" |
| |
| class MalformedHeaderDefect(MessageDefect): |
| """Found a header that was missing a colon, or was otherwise malformed.""" |
| |
| class MultipartInvariantViolationDefect(MessageDefect): |
| """A message claimed to be a multipart but no subparts were found.""" |