/Doc/library/mimewriter.rst
http://unladen-swallow.googlecode.com/ · ReStructuredText · 85 lines · 54 code · 31 blank · 0 comment · 0 complexity · 6e63a298ffffe100ac4582a0eca53a2b MD5 · raw file
- :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`. 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.
- .. class:: MimeWriter(fp)
- Return a new instance of the :class:`MimeWriter` class. The only argument
- passed, *fp*, is a file object to be used for writing. Note that a
- :class:`StringIO` object could also be used.
- .. _mimewriter-objects:
- MimeWriter Objects
- ------------------
- :class:`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` 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.