home *** CD-ROM | disk | FTP | other *** search
/ Chip 2011 November / CHIP_2011_11.iso / Programy / Narzedzia / Inkscape / Inkscape-0.48.2-1-win32.exe / python / Lib / email / mime / multipart.py < prev    next >
Encoding:
Python Source  |  2010-05-29  |  1.6 KB  |  48 lines

  1. # Copyright (C) 2002-2006 Python Software Foundation
  2. # Author: Barry Warsaw
  3. # Contact: email-sig@python.org
  4.  
  5. """Base class for MIME multipart/* type messages."""
  6.  
  7. __all__ = ['MIMEMultipart']
  8.  
  9. from email.mime.base import MIMEBase
  10.  
  11.  
  12.  
  13. class MIMEMultipart(MIMEBase):
  14.     """Base class for MIME multipart/* type messages."""
  15.  
  16.     def __init__(self, _subtype='mixed', boundary=None, _subparts=None,
  17.                  **_params):
  18.         """Creates a multipart/* type message.
  19.  
  20.         By default, creates a multipart/mixed message, with proper
  21.         Content-Type and MIME-Version headers.
  22.  
  23.         _subtype is the subtype of the multipart content type, defaulting to
  24.         `mixed'.
  25.  
  26.         boundary is the multipart boundary string.  By default it is
  27.         calculated as needed.
  28.  
  29.         _subparts is a sequence of initial subparts for the payload.  It
  30.         must be an iterable object, such as a list.  You can always
  31.         attach new subparts to the message by using the attach() method.
  32.  
  33.         Additional parameters for the Content-Type header are taken from the
  34.         keyword arguments (or passed into the _params argument).
  35.         """
  36.         MIMEBase.__init__(self, 'multipart', _subtype, **_params)
  37.  
  38.         # Initialise _payload to an empty list as the Message superclass's
  39.         # implementation of is_multipart assumes that _payload is a list for
  40.         # multipart messages.
  41.         self._payload = []
  42.  
  43.         if _subparts:
  44.             for p in _subparts:
  45.                 self.attach(p)
  46.         if boundary:
  47.             self.set_boundary(boundary)
  48.