These two classes provide bases for more specific content type
subclasses. MIMENonMultipart: Base class for non-multipart/* content type subclass specializations, e.g. image/gif. This class overrides attach() which raises an exception, since it makes no sense to attach a subpart to e.g. an image/gif message. MIMEMultipart: Base class for multipart/* content type subclass specializations, e.g. multipart/mixed. Does little more than provide a useful constructor.
This commit is contained in:
parent
1c30aa2292
commit
2f514a806d
|
@ -0,0 +1,34 @@
|
|||
# Copyright (C) 2002 Python Software Foundation
|
||||
# Author: barry@zope.com (Barry Warsaw)
|
||||
|
||||
"""Base class for MIME multipart/* type messages.
|
||||
"""
|
||||
|
||||
from email import MIMEBase
|
||||
|
||||
|
||||
|
||||
class MIMEMultipart(MIMEBase.MIMEBase):
|
||||
"""Base class for MIME multipart/* type messages."""
|
||||
|
||||
def __init__(self, _subtype='mixed', boundary=None, *_subparts, **_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 multipart. It
|
||||
must be possible to convert this sequence to 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.MIMEBase.__init__(self, 'multipart', _subtype, **params)
|
||||
self.attach(*list(_subparts))
|
|
@ -0,0 +1,20 @@
|
|||
# Copyright (C) 2002 Python Software Foundation
|
||||
# Author: barry@zope.com (Barry Warsaw)
|
||||
|
||||
"""Base class for MIME type messages that are not multipart.
|
||||
"""
|
||||
|
||||
from email import Errors
|
||||
from email import MIMEBase
|
||||
|
||||
|
||||
|
||||
class MIMENonMultipart(MIMEBase.MIMEBase):
|
||||
"""Base class for MIME multipart/* type messages."""
|
||||
|
||||
def attach(self, payload):
|
||||
# The public API prohibits attaching multiple subparts to MIMEBase
|
||||
# derived subtypes since none of them are, by definition, of content
|
||||
# type multipart/*
|
||||
raise Errors.MultipartConversionError(
|
||||
'Cannot attach additional subparts to non-multipart/*')
|
Loading…
Reference in New Issue