| \section{\module{MimeWriter} --- |
| Generic MIME file writer} |
| |
| \declaremodule{standard}{MimeWriter} |
| |
| \modulesynopsis{Generic MIME file writer.} |
| \sectionauthor{Christopher G. Petrilli}{petrilli@amber.org} |
| |
| This module defines the class \class{MimeWriter}. The |
| \class{MimeWriter} class implements a basic formatter for creating |
| MIME multi-part files. It doesn't seek around the output file nor |
| does it use large amounts of buffer space. You must write the parts |
| out in the order that they should occur in the final |
| file. \class{MimeWriter} does buffer the headers you add, allowing you |
| to rearrange their order. |
| |
| \begin{classdesc}{MimeWriter}{fp} |
| Return a new instance of the \class{MimeWriter} class. The only |
| argument passed, \var{fp}, is a file object to be used for |
| writing. Note that a \class{StringIO} object could also be used. |
| \end{classdesc} |
| |
| |
| \subsection{MimeWriter Objects \label{MimeWriter-objects}} |
| |
| |
| \class{MimeWriter} instances have the following methods: |
| |
| \begin{methoddesc}{addheader}{key, value\optional{, prefix}} |
| Add a header line to the MIME message. The \var{key} is the name of |
| the header, where the \var{value} obviously provides the value of the |
| header. The optional argument \var{prefix} determines where the header |
| is inserted; \samp{0} means append at the end, \samp{1} is insert at |
| the start. The default is to append. |
| \end{methoddesc} |
| |
| \begin{methoddesc}{flushheaders}{} |
| Causes all headers accumulated so far to be written out (and |
| forgotten). This is useful if you don't need a body part at all, |
| e.g.\ for a subpart of type \mimetype{message/rfc822} that's (mis)used |
| to store some header-like information. |
| \end{methoddesc} |
| |
| \begin{methoddesc}{startbody}{ctype\optional{, plist\optional{, prefix}}} |
| Returns a file-like object which can be used to write to the |
| body of the message. The content-type is set to the provided |
| \var{ctype}, and the optional parameter \var{plist} provides |
| additional parameters for the content-type declaration. \var{prefix} |
| functions as in \method{addheader()} except that the default is to |
| insert at the start. |
| \end{methoddesc} |
| |
| \begin{methoddesc}{startmultipartbody}{subtype\optional{, |
| boundary\optional{, plist\optional{, prefix}}}} |
| Returns a file-like object which can be used to write to the |
| body of the message. Additionally, this method initializes the |
| multi-part code, where \var{subtype} provides the multipart subtype, |
| \var{boundary} may provide a user-defined boundary specification, and |
| \var{plist} provides optional parameters for the subtype. |
| \var{prefix} functions as in \method{startbody()}. Subparts should be |
| created using \method{nextpart()}. |
| \end{methoddesc} |
| |
| \begin{methoddesc}{nextpart}{} |
| Returns a new instance of \class{MimeWriter} which represents an |
| individual part in a multipart message. This may be used to write the |
| part as well as used for creating recursively complex multipart |
| messages. The message must first be initialized with |
| \method{startmultipartbody()} before using \method{nextpart()}. |
| \end{methoddesc} |
| |
| \begin{methoddesc}{lastpart}{} |
| This is used to designate the last part of a multipart message, and |
| should \emph{always} be used when writing multipart messages. |
| \end{methoddesc} |