mirror of
https://github.com/python/cpython.git
synced 2024-11-30 18:51:15 +01:00
35784dff6a
The intent is that this diff adds a link to the rfc822 module doc and an index reference to this module under the rfc822 heading. Fred, based on a suggestion from Grant Griffin <grant.griffin@honeywell.com>: Added link to the MIME FAQ, so people can more easily get more information about the subject of the module.
111 lines
4.2 KiB
TeX
111 lines
4.2 KiB
TeX
\section{\module{mimetools} ---
|
|
Tools for parsing MIME messages}
|
|
|
|
\declaremodule{standard}{mimetools}
|
|
\modulesynopsis{Tools for parsing MIME-style message bodies.}
|
|
|
|
|
|
This module defines a subclass of the
|
|
\refmodule{rfc822}\refstmodindex{rfc822} module's
|
|
\class{Message} class and a number of utility functions that are
|
|
useful for the manipulation for MIME multipart or encoded message.
|
|
|
|
It defines the following items:
|
|
|
|
\begin{classdesc}{Message}{fp\optional{, seekable}}
|
|
Return a new instance of the \class{Message} class. This is a
|
|
subclass of the \class{rfc822.Message} class, with some additional
|
|
methods (see below). The \var{seekable} argument has the same meaning
|
|
as for \class{rfc822.Message}.
|
|
\end{classdesc}
|
|
|
|
\begin{funcdesc}{choose_boundary}{}
|
|
Return a unique string that has a high likelihood of being usable as a
|
|
part boundary. The string has the form
|
|
\code{'\var{hostipaddr}.\var{uid}.\var{pid}.\var{timestamp}.\var{random}'}.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{decode}{input, output, encoding}
|
|
Read data encoded using the allowed MIME \var{encoding} from open file
|
|
object \var{input} and write the decoded data to open file object
|
|
\var{output}. Valid values for \var{encoding} include
|
|
\code{'base64'}, \code{'quoted-printable'} and \code{'uuencode'}.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{encode}{input, output, encoding}
|
|
Read data from open file object \var{input} and write it encoded using
|
|
the allowed MIME \var{encoding} to open file object \var{output}.
|
|
Valid values for \var{encoding} are the same as for \method{decode()}.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{copyliteral}{input, output}
|
|
Read lines from open file \var{input} until \EOF{} and write them to
|
|
open file \var{output}.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{copybinary}{input, output}
|
|
Read blocks until \EOF{} from open file \var{input} and write them to
|
|
open file \var{output}. The block size is currently fixed at 8192.
|
|
\end{funcdesc}
|
|
|
|
|
|
\begin{seealso}
|
|
\seemodule{rfc822}{Provides the base class for
|
|
\class{mimetools.Message}.}
|
|
\seemodule{multifile}{Support for reading files which contain
|
|
distinct parts, such as MIME data.}
|
|
\seeurl{http://www.cs.uu.nl/wais/html/na-dir/mail/mime-faq/.html}{
|
|
The MIME Frequently Asked Questions document. For an
|
|
overview of MIME, see the answer to question 1.1 in Part 1
|
|
of this document.}
|
|
\end{seealso}
|
|
|
|
|
|
\subsection{Additional Methods of Message objects}
|
|
\nodename{mimetools.Message Methods}
|
|
|
|
The \class{Message} class defines the following methods in
|
|
addition to the \class{rfc822.Message} methods:
|
|
|
|
\begin{methoddesc}{getplist}{}
|
|
Return the parameter list of the \code{content-type} header. This is
|
|
a list if strings. For parameters of the form
|
|
\samp{\var{key}=\var{value}}, \var{key} is converted to lower case but
|
|
\var{value} is not. For example, if the message contains the header
|
|
\samp{Content-type: text/html; spam=1; Spam=2; Spam} then
|
|
\method{getplist()} will return the Python list \code{['spam=1',
|
|
'spam=2', 'Spam']}.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}{getparam}{name}
|
|
Return the \var{value} of the first parameter (as returned by
|
|
\method{getplist()} of the form \samp{\var{name}=\var{value}} for the
|
|
given \var{name}. If \var{value} is surrounded by quotes of the form
|
|
`\code{<}...\code{>}' or `\code{"}...\code{"}', these are removed.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}{getencoding}{}
|
|
Return the encoding specified in the \code{content-transfer-encoding}
|
|
message header. If no such header exists, return \code{'7bit'}. The
|
|
encoding is converted to lower case.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}{gettype}{}
|
|
Return the message type (of the form \samp{\var{type}/\var{subtype}})
|
|
as specified in the \code{content-type} header. If no such header
|
|
exists, return \code{'text/plain'}. The type is converted to lower
|
|
case.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}{getmaintype}{}
|
|
Return the main type as specified in the \code{content-type} header.
|
|
If no such header exists, return \code{'text'}. The main type is
|
|
converted to lower case.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}{getsubtype}{}
|
|
Return the subtype as specified in the \code{content-type} header. If
|
|
no such header exists, return \code{'plain'}. The subtype is
|
|
converted to lower case.
|
|
\end{methoddesc}
|