libmimetools.tex 3.54 KB
Newer Older
1
\section{Standard Module \sectcode{mimetools}}
Guido van Rossum's avatar
Guido van Rossum committed
2
\stmodindex{mimetools}
3 4 5

\renewcommand{\indexsubitem}{(in module mimetools)}

Guido van Rossum's avatar
Guido van Rossum committed
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
This module defines a subclass of the class \code{rfc822.Message} and
a number of utility functions that are useful for the manipulation for
MIME style multipart or encoded message.

It defines the following items:

\begin{funcdesc}{Message}{fp}
Return a new instance of the \code{mimetools.Message} class.  This is
a subclass of the \code{rfc822.Message} class, with some additional
methods (see below).
\end{funcdesc}

\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 \code{decode()}.
\end{funcdesc}

\begin{funcdesc}{copyliteral}{input\, output}
Read lines until EOF from open file \var{input} 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}


48
\subsection{Additional Methods of Message objects}
Guido van Rossum's avatar
Guido van Rossum committed
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
\nodename{mimetools.Message Methods}

The \code{mimetools.Message} class defines the following methods in
addition to the \code{rfc822.Message} class:

\renewcommand{\indexsubitem}{(mimetool.Message method)}

\begin{funcdesc}{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
\code{getplist()} will return the Python list \code{['spam=1',
'spam=2', 'Spam']}.
\end{funcdesc}

\begin{funcdesc}{getparam}{name}
Return the \var{value} of the first parameter (as returned by
\code{getplist()} of the form \samp{\var{name}=\var{value}} for the
given \var{name}.  If \var{value} is surrounded by quotes of the form
\var{<...>} or \var{"..."}, these are removed.
\end{funcdesc}

\begin{funcdesc}{getencoding}{}
Return the encoding specified in the \samp{Content-transfer-encoding}
message header.  If no such header exists, return \code{"7bit"}.  The
encoding is converted to lower case.
\end{funcdesc}

\begin{funcdesc}{gettype}{}
80
Return the message type (of the form \samp{\var{type}/\var{subtype}})
Guido van Rossum's avatar
Guido van Rossum committed
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
as specified in the \samp{Content-type} header.  If no such header
exists, return \code{"text/plain"}.  The type is converted to lower
case.
\end{funcdesc}

\begin{funcdesc}{getmaintype}{}
Return the main type as specified in the \samp{Content-type} header.
If no such header exists, return \code{"text"}.  The main type is
converted to lower case.
\end{funcdesc}

\begin{funcdesc}{getsubtype}{}
Return the subtype as specified in the \samp{Content-type} header.  If
no such header exists, return \code{"plain"}.  The subtype is
converted to lower case.
\end{funcdesc}