• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2001-2006 Python Software Foundation
2# Author: Barry Warsaw
3# Contact: email-sig@python.org
4
5"""Base class for MIME specializations."""
6
7__all__ = ['MIMEBase']
8
9import email.policy
10
11from email import message
12
13
14class MIMEBase(message.Message):
15    """Base class for MIME specializations."""
16
17    def __init__(self, _maintype, _subtype, *, policy=None, **_params):
18        """This constructor adds a Content-Type: and a MIME-Version: header.
19
20        The Content-Type: header is taken from the _maintype and _subtype
21        arguments.  Additional parameters for this header are taken from the
22        keyword arguments.
23        """
24        if policy is None:
25            policy = email.policy.compat32
26        message.Message.__init__(self, policy=policy)
27        ctype = '%s/%s' % (_maintype, _subtype)
28        self.add_header('Content-Type', ctype, **_params)
29        self['MIME-Version'] = '1.0'
30