comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/lib/python3.8/email/mime/multipart.py @ 68:5028fdace37b

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 16:23:26 -0400
parents
children
comparison
equal deleted inserted replaced
67:0e9998148a16 68:5028fdace37b
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 *, policy=None,
18 **_params):
19 """Creates a multipart/* type message.
20
21 By default, creates a multipart/mixed message, with proper
22 Content-Type and MIME-Version headers.
23
24 _subtype is the subtype of the multipart content type, defaulting to
25 `mixed'.
26
27 boundary is the multipart boundary string. By default it is
28 calculated as needed.
29
30 _subparts is a sequence of initial subparts for the payload. It
31 must be an iterable object, such as a list. You can always
32 attach new subparts to the message by using the attach() method.
33
34 Additional parameters for the Content-Type header are taken from the
35 keyword arguments (or passed into the _params argument).
36 """
37 MIMEBase.__init__(self, 'multipart', _subtype, policy=policy, **_params)
38
39 # Initialise _payload to an empty list as the Message superclass's
40 # implementation of is_multipart assumes that _payload is a list for
41 # multipart messages.
42 self._payload = []
43
44 if _subparts:
45 for p in _subparts:
46 self.attach(p)
47 if boundary:
48 self.set_boundary(boundary)