| :mod:`MimeWriter` --- Generic MIME file writer | |
| ============================================== | |
| .. module:: MimeWriter | |
| :synopsis: Write MIME format files. | |
| :deprecated: | |
| .. sectionauthor:: Christopher G. Petrilli <petrilli@amber.org> | |
| .. deprecated:: 2.3 | |
| The :mod:`email` package should be used in preference to the :mod:`MimeWriter` | |
| module. This module is present only to maintain backward compatibility. | |
| This module defines the class :class:`~MimeWriter.MimeWriter`. The :class:`~MimeWriter.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.MimeWriter` does buffer the headers you add, allowing you | |
| to rearrange their order. | |
| .. class:: MimeWriter(fp) | |
| Return a new instance of the :class:`~MimeWriter.MimeWriter` class. The only argument | |
| passed, *fp*, is a file object to be used for writing. Note that a | |
| :class:`~StringIO.StringIO` object could also be used. | |
| .. _mimewriter-objects: | |
| MimeWriter Objects | |
| ------------------ | |
| :class:`~MimeWriter.MimeWriter` instances have the following methods: | |
| .. method:: MimeWriter.addheader(key, value[, prefix]) | |
| Add a header line to the MIME message. The *key* is the name of the header, | |
| where the *value* obviously provides the value of the header. The optional | |
| argument *prefix* determines where the header is inserted; ``0`` means append | |
| at the end, ``1`` is insert at the start. The default is to append. | |
| .. method:: MimeWriter.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. | |
| .. method:: MimeWriter.startbody(ctype[, plist[, 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 *ctype*, and the optional | |
| parameter *plist* provides additional parameters for the content-type | |
| declaration. *prefix* functions as in :meth:`addheader` except that the default | |
| is to insert at the start. | |
| .. method:: MimeWriter.startmultipartbody(subtype[, boundary[, plist[, 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 | |
| *subtype* provides the multipart subtype, *boundary* may provide a user-defined | |
| boundary specification, and *plist* provides optional parameters for the | |
| subtype. *prefix* functions as in :meth:`startbody`. Subparts should be created | |
| using :meth:`nextpart`. | |
| .. method:: MimeWriter.nextpart() | |
| Returns a new instance of :class:`~MimeWriter.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 :meth:`startmultipartbody` before using :meth:`nextpart`. | |
| .. method:: MimeWriter.lastpart() | |
| This is used to designate the last part of a multipart message, and should | |
| *always* be used when writing multipart messages. | |