Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

# Copyright (C) 2002-2006 Python Software Foundation 

# Author: Barry Warsaw 

# Contact: email-sig@python.org 

 

"""Base class for MIME multipart/* type messages.""" 

 

__all__ = ['MIMEMultipart'] 

 

from email.mime.base import MIMEBase 

 

 

 

class MIMEMultipart(MIMEBase): 

    """Base class for MIME multipart/* type messages.""" 

 

    def __init__(self, _subtype='mixed', boundary=None, _subparts=None, 

                 **_params): 

        """Creates a multipart/* type message. 

 

        By default, creates a multipart/mixed message, with proper 

        Content-Type and MIME-Version headers. 

 

        _subtype is the subtype of the multipart content type, defaulting to 

        `mixed'. 

 

        boundary is the multipart boundary string.  By default it is 

        calculated as needed. 

 

        _subparts is a sequence of initial subparts for the payload.  It 

        must be an iterable object, such as a list.  You can always 

        attach new subparts to the message by using the attach() method. 

 

        Additional parameters for the Content-Type header are taken from the 

        keyword arguments (or passed into the _params argument). 

        """ 

        MIMEBase.__init__(self, 'multipart', _subtype, **_params) 

 

        # Initialise _payload to an empty list as the Message superclass's 

        # implementation of is_multipart assumes that _payload is a list for 

        # multipart messages. 

        self._payload = [] 

 

        if _subparts: 

            for p in _subparts: 

                self.attach(p) 

        if boundary: 

            self.set_boundary(boundary)