| :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. |
| |