1 \section{\module{mimetools
} ---
2 Tools for parsing MIME messages
}
4 \declaremodule{standard
}{mimetools
}
5 \modulesynopsis{Tools for parsing MIME-style message bodies.
}
7 \deprecated{2.3}{The
\refmodule{email
} package should be used in
8 preference to the
\module{mimetools
} module. This
9 module is present only to maintain backward
12 This module defines a subclass of the
13 \refmodule{rfc822
}\refstmodindex{rfc822
} module's
14 \class{Message
} class and a number of utility functions that are
15 useful for the manipulation for MIME multipart or encoded message.
17 It defines the following items:
19 \begin{classdesc
}{Message
}{fp
\optional{, seekable
}}
20 Return a new instance of the
\class{Message
} class. This is a
21 subclass of the
\class{rfc822.Message
} class, with some additional
22 methods (see below). The
\var{seekable
} argument has the same meaning
23 as for
\class{rfc822.Message
}.
26 \begin{funcdesc
}{choose_boundary
}{}
27 Return a unique string that has a high likelihood of being usable as a
28 part boundary. The string has the form
29 \code{'
\var{hostipaddr
}.
\var{uid
}.
\var{pid
}.
\var{timestamp
}.
\var{random
}'
}.
32 \begin{funcdesc
}{decode
}{input, output, encoding
}
33 Read data encoded using the allowed MIME
\var{encoding
} from open file
34 object
\var{input
} and write the decoded data to open file object
35 \var{output
}. Valid values for
\var{encoding
} include
36 \code{'base64'
},
\code{'quoted-printable'
} and
\code{'uuencode'
}.
39 \begin{funcdesc
}{encode
}{input, output, encoding
}
40 Read data from open file object
\var{input
} and write it encoded using
41 the allowed MIME
\var{encoding
} to open file object
\var{output
}.
42 Valid values for
\var{encoding
} are the same as for
\method{decode()
}.
45 \begin{funcdesc
}{copyliteral
}{input, output
}
46 Read lines from open file
\var{input
} until
\EOF{} and write them to
47 open file
\var{output
}.
50 \begin{funcdesc
}{copybinary
}{input, output
}
51 Read blocks until
\EOF{} from open file
\var{input
} and write them to
52 open file
\var{output
}. The block size is currently fixed at
8192.
57 \seemodule{email
}{Comprehensive email handling package; supercedes
58 the
\module{mimetools
} module.
}
59 \seemodule{rfc822
}{Provides the base class for
60 \class{mimetools.Message
}.
}
61 \seemodule{multifile
}{Support for reading files which contain
62 distinct parts, such as MIME data.
}
63 \seeurl{http://www.cs.uu.nl/wais/html/na-dir/mail/mime-faq/.html
}{
64 The MIME Frequently Asked Questions
document. For an
65 overview of MIME, see the answer to question
1.1 in Part
1
70 \subsection{Additional Methods of Message Objects
71 \label{mimetools-message-objects
}}
73 The
\class{Message
} class defines the following methods in
74 addition to the
\class{rfc822.Message
} methods:
76 \begin{methoddesc
}{getplist
}{}
77 Return the parameter list of the
\mailheader{Content-Type
} header.
78 This is a list of strings. For parameters of the form
79 \samp{\var{key
}=
\var{value
}},
\var{key
} is converted to lower case but
80 \var{value
} is not. For example, if the message contains the header
81 \samp{Content-type: text/html; spam=
1; Spam=
2; Spam
} then
82 \method{getplist()
} will return the Python list
\code{['spam=
1',
86 \begin{methoddesc
}{getparam
}{name
}
87 Return the
\var{value
} of the first parameter (as returned by
88 \method{getplist()
} of the form
\samp{\var{name
}=
\var{value
}} for the
89 given
\var{name
}. If
\var{value
} is surrounded by quotes of the form
90 `
\code{<
}...
\code{>
}' or `
\code{"
}...
\code{"
}', these are removed.
93 \begin{methoddesc
}{getencoding
}{}
94 Return the encoding specified in the
95 \mailheader{Content-Transfer-Encoding
} message header. If no such
96 header exists, return
\code{'
7bit'
}. The encoding is converted to
100 \begin{methoddesc
}{gettype
}{}
101 Return the message type (of the form
\samp{\var{type
}/
\var{subtype
}})
102 as specified in the
\mailheader{Content-Type
} header. If no such
103 header exists, return
\code{'text/plain'
}. The type is converted to
107 \begin{methoddesc
}{getmaintype
}{}
108 Return the main type as specified in the
\mailheader{Content-Type
}
109 header. If no such header exists, return
\code{'text'
}. The main
110 type is converted to lower case.
113 \begin{methoddesc
}{getsubtype
}{}
114 Return the subtype as specified in the
\mailheader{Content-Type
}
115 header. If no such header exists, return
\code{'plain'
}. The subtype
116 is converted to lower case.