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