|
1 # Copyright (C) 2001-2006 Python Software Foundation |
|
2 # Author: Barry Warsaw |
|
3 # Contact: email-sig@python.org |
|
4 |
|
5 """email package exception classes.""" |
|
6 |
|
7 |
|
8 |
|
9 class MessageError(Exception): |
|
10 """Base class for errors in the email package.""" |
|
11 |
|
12 |
|
13 class MessageParseError(MessageError): |
|
14 """Base class for message parsing errors.""" |
|
15 |
|
16 |
|
17 class HeaderParseError(MessageParseError): |
|
18 """Error while parsing headers.""" |
|
19 |
|
20 |
|
21 class BoundaryError(MessageParseError): |
|
22 """Couldn't find terminating boundary.""" |
|
23 |
|
24 |
|
25 class MultipartConversionError(MessageError, TypeError): |
|
26 """Conversion to a multipart is prohibited.""" |
|
27 |
|
28 |
|
29 class CharsetError(MessageError): |
|
30 """An illegal charset was given.""" |
|
31 |
|
32 |
|
33 |
|
34 # These are parsing defects which the parser was able to work around. |
|
35 class MessageDefect: |
|
36 """Base class for a message defect.""" |
|
37 |
|
38 def __init__(self, line=None): |
|
39 self.line = line |
|
40 |
|
41 class NoBoundaryInMultipartDefect(MessageDefect): |
|
42 """A message claimed to be a multipart but had no boundary parameter.""" |
|
43 |
|
44 class StartBoundaryNotFoundDefect(MessageDefect): |
|
45 """The claimed start boundary was never found.""" |
|
46 |
|
47 class FirstHeaderLineIsContinuationDefect(MessageDefect): |
|
48 """A message had a continuation line as its first header line.""" |
|
49 |
|
50 class MisplacedEnvelopeHeaderDefect(MessageDefect): |
|
51 """A 'Unix-from' header was found in the middle of a header block.""" |
|
52 |
|
53 class MalformedHeaderDefect(MessageDefect): |
|
54 """Found a header that was missing a colon, or was otherwise malformed.""" |
|
55 |
|
56 class MultipartInvariantViolationDefect(MessageDefect): |
|
57 """A message claimed to be a multipart but no subparts were found.""" |