Guido van Rossum | 8b3febe | 2007-08-30 01:15:14 +0000 | [diff] [blame] | 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 | |
R David Murray | 56b1f1b | 2016-09-07 16:48:35 -0400 | [diff] [blame] | 9 | import email.policy |
| 10 | |
Guido van Rossum | 8b3febe | 2007-08-30 01:15:14 +0000 | [diff] [blame] | 11 | from email import message |
| 12 | |
| 13 | |
| 14 | |
| 15 | class MIMEBase(message.Message): |
| 16 | """Base class for MIME specializations.""" |
| 17 | |
R David Murray | 56b1f1b | 2016-09-07 16:48:35 -0400 | [diff] [blame] | 18 | def __init__(self, _maintype, _subtype, *, policy=None, **_params): |
Guido van Rossum | 8b3febe | 2007-08-30 01:15:14 +0000 | [diff] [blame] | 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 | """ |
R David Murray | 56b1f1b | 2016-09-07 16:48:35 -0400 | [diff] [blame] | 25 | if policy is None: |
| 26 | policy = email.policy.compat32 |
| 27 | message.Message.__init__(self, policy=policy) |
Guido van Rossum | 8b3febe | 2007-08-30 01:15:14 +0000 | [diff] [blame] | 28 | ctype = '%s/%s' % (_maintype, _subtype) |
| 29 | self.add_header('Content-Type', ctype, **_params) |
| 30 | self['MIME-Version'] = '1.0' |