PageRenderTime 72ms CodeModel.GetById 62ms app.highlight 5ms RepoModel.GetById 1ms app.codeStats 0ms

/Lib/email/mime/multipart.py

http://unladen-swallow.googlecode.com/
Python | 47 lines | 22 code | 10 blank | 15 comment | 6 complexity | 6ecb52c85fab02209bc1fb18a2cae197 MD5 | raw file
 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
 9from email.mime.base import MIMEBase
10
11
12
13class 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)