source: python/vendor/Python-2.7.6/Doc/library/mimetools.rst

Last change on this file was 2, checked in by Yuri Dario, 15 years ago

Initial import for vendor code.

  • Property svn:eol-style set to native
File size: 4.4 KB

:mod:`mimetools` --- Tools for parsing MIME messages

??
.. module:: mimetools
   :synopsis: Tools for parsing MIME-style message bodies.
   :deprecated:


?
.. deprecated:: 2.3
   The :mod:`email` package should be used in preference to the :mod:`mimetools`
   module.  This module is present only to maintain backward compatibility, and
   it has been removed in 3.x.

?
.. index:: module: rfc822

This module defines a subclass of the :mod:`rfc822` module's :class:`Message` class and a number of utility functions that are useful for the manipulation for MIME multipart or encoded message.

??

It defines the following items:

Return a new instance of the :class:`Message` class. This is a subclass of the :class:`rfc822.Message` class, with some additional methods (see below). The seekable argument has the same meaning as for :class:`rfc822.Message`.

????
.. function:: choose_boundary()

   Return a unique string that has a high likelihood of being usable as a part
   boundary.  The string has the form ``'hostipaddr.uid.pid.timestamp.random'``.


?
.. function:: decode(input, output, encoding)

   Read data encoded using the allowed MIME *encoding* from open file object
   *input* and write the decoded data to open file object *output*.  Valid values
   for *encoding* include ``'base64'``, ``'quoted-printable'``, ``'uuencode'``,
   ``'x-uuencode'``, ``'uue'``, ``'x-uue'``, ``'7bit'``, and  ``'8bit'``.  Decoding
   messages encoded in ``'7bit'`` or ``'8bit'`` has no effect.  The input is simply
   copied to the output.


?
.. function:: encode(input, output, encoding)

   Read data from open file object *input* and write it encoded using the allowed
   MIME *encoding* to open file object *output*. Valid values for *encoding* are
   the same as for :meth:`decode`.


?
.. function:: copyliteral(input, output)

   Read lines from open file *input* until EOF and write them to open file
   *output*.


?
.. function:: copybinary(input, output)

   Read blocks until EOF from open file *input* and write them to open file
   *output*.  The block size is currently fixed at 8192.


?
.. seealso::

   Module :mod:`email`
      Comprehensive email handling package; supersedes the :mod:`mimetools` module.

   Module :mod:`rfc822`
      Provides the base class for :class:`mimetools.Message`.

   Module :mod:`multifile`
      Support for reading files which contain distinct parts, such as MIME data.

   http://faqs.cs.uu.nl/na-dir/mail/mime-faq/.html
      The MIME Frequently Asked Questions document.  For an overview of MIME, see the
      answer to question 1.1 in Part 1 of this document.


Additional Methods of Message Objects

The :class:`Message` class defines the following methods in addition to the :class:`rfc822.Message` methods:

???
.. method:: Message.getplist()

   Return the parameter list of the :mailheader:`Content-Type` header. This is a
   list of strings.  For parameters of the form ``key=value``, *key* is converted
   to lower case but *value* is not.  For example, if the message contains the
   header ``Content-type: text/html; spam=1; Spam=2; Spam`` then :meth:`getplist`
   will return the Python list ``['spam=1', 'spam=2', 'Spam']``.


?
.. method:: Message.getparam(name)

   Return the *value* of the first parameter (as returned by :meth:`getplist`) of
   the form ``name=value`` for the given *name*.  If *value* is surrounded by
   quotes of the form '``<``...\ ``>``' or '``"``...\ ``"``', these are removed.


?
.. method:: Message.getencoding()

   Return the encoding specified in the :mailheader:`Content-Transfer-Encoding`
   message header.  If no such header exists, return ``'7bit'``.  The encoding is
   converted to lower case.


?
.. method:: Message.gettype()

   Return the message type (of the form ``type/subtype``) as specified in the
   :mailheader:`Content-Type` header.  If no such header exists, return
   ``'text/plain'``.  The type is converted to lower case.


?
.. method:: Message.getmaintype()

   Return the main type as specified in the :mailheader:`Content-Type` header.  If
   no such header exists, return ``'text'``.  The main type is converted to lower
   case.


?
.. method:: Message.getsubtype()

   Return the subtype as specified in the :mailheader:`Content-Type` header.  If no
   such header exists, return ``'plain'``.  The subtype is converted to lower case.

Note: See TracBrowser for help on using the repository browser.