OLD | NEW |
(Empty) | |
| 1 # Copyright (C) 2001-2006 Python Software Foundation |
| 2 # Author: Barry Warsaw |
| 3 # Contact: email-sig@python.org |
| 4 |
| 5 """Class representing text/* type MIME documents.""" |
| 6 from __future__ import unicode_literals |
| 7 from __future__ import division |
| 8 from __future__ import absolute_import |
| 9 |
| 10 __all__ = ['MIMEText'] |
| 11 |
| 12 from future.backports.email.encoders import encode_7or8bit |
| 13 from future.backports.email.mime.nonmultipart import MIMENonMultipart |
| 14 |
| 15 |
| 16 class MIMEText(MIMENonMultipart): |
| 17 """Class for generating text/* type MIME documents.""" |
| 18 |
| 19 def __init__(self, _text, _subtype='plain', _charset=None): |
| 20 """Create a text/* type MIME document. |
| 21 |
| 22 _text is the string for this message object. |
| 23 |
| 24 _subtype is the MIME sub content type, defaulting to "plain". |
| 25 |
| 26 _charset is the character set parameter added to the Content-Type |
| 27 header. This defaults to "us-ascii". Note that as a side-effect, the |
| 28 Content-Transfer-Encoding header will also be set. |
| 29 """ |
| 30 |
| 31 # If no _charset was specified, check to see if there are non-ascii |
| 32 # characters present. If not, use 'us-ascii', otherwise use utf-8. |
| 33 # XXX: This can be removed once #7304 is fixed. |
| 34 if _charset is None: |
| 35 try: |
| 36 _text.encode('us-ascii') |
| 37 _charset = 'us-ascii' |
| 38 except UnicodeEncodeError: |
| 39 _charset = 'utf-8' |
| 40 |
| 41 MIMENonMultipart.__init__(self, 'text', _subtype, |
| 42 **{'charset': _charset}) |
| 43 |
| 44 self.set_payload(_text, _charset) |
OLD | NEW |