mirror of https://github.com/python/cpython
49 lines
1.9 KiB
Python
49 lines
1.9 KiB
Python
# Copyright (C) 2001,2002 Python Software Foundation
|
||
# Author: barry@zope.com (Barry Warsaw)
|
||
|
||
"""Class representing text/* type MIME documents.
|
||
"""
|
||
|
||
import warnings
|
||
from email.MIMENonMultipart import MIMENonMultipart
|
||
from email.Encoders import encode_7or8bit
|
||
|
||
|
||
|
||
class MIMEText(MIMENonMultipart):
|
||
"""Class for generating text/* type MIME documents."""
|
||
|
||
def __init__(self, _text, _subtype='plain', _charset='us-ascii',
|
||
_encoder=None):
|
||
"""Create a text/* type MIME document.
|
||
|
||
_text is the string for this message object. If the text does not end
|
||
in a newline, one is added.
|
||
|
||
_subtype is the MIME sub content type, defaulting to "plain".
|
||
|
||
_charset is the character set parameter added to the Content-Type
|
||
header. This defaults to "us-ascii". Note that as a side-effect, the
|
||
Content-Transfer-Encoding header will also be set.
|
||
|
||
The use of the _encoder is deprecated. The encoding of the payload,
|
||
and the setting of the character set parameter now happens implicitly
|
||
based on the _charset argument. If _encoder is supplied, then a
|
||
DeprecationWarning is used, and the _encoder functionality may
|
||
override any header settings indicated by _charset. This is probably
|
||
not what you want.
|
||
"""
|
||
MIMENonMultipart.__init__(self, 'text', _subtype,
|
||
**{'charset': _charset})
|
||
if _text and not _text.endswith('\n'):
|
||
_text += '\n'
|
||
self.set_payload(_text, _charset)
|
||
if _encoder is not None:
|
||
warnings.warn('_encoder argument is obsolete.',
|
||
DeprecationWarning, 2)
|
||
# Because set_payload() with a _charset will set its own
|
||
# Content-Transfer-Encoding header, we need to delete the
|
||
# existing one or will end up with two of them. :(
|
||
del self['content-transfer-encoding']
|
||
_encoder(self)
|