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 14 15class MIMEBase(message.Message): 16 """Base class for MIME specializations.""" 17 18 def __init__(self, _maintype, _subtype, *, policy=None, **_params): 19 """This constructor adds a Content-Type: and a MIME-Version: header. 20 21 The Content-Type: header is taken from the _maintype and _subtype 22 arguments. Additional parameters for this header are taken from the 23 keyword arguments. 24 """ 25 if policy is None: 26 policy = email.policy.compat32 27 message.Message.__init__(self, policy=policy) 28 ctype = '%s/%s' % (_maintype, _subtype) 29 self.add_header('Content-Type', ctype, **_params) 30 self['MIME-Version'] = '1.0' 31