# Copyright (C) 2001-2006 Python Software Foundation # Author: Barry Warsaw # Contact: email-sig@python.org """Encodings and related functions.""" __all__ = [ 'encode_7or8bit', 'encode_base64', 'encode_noop', 'encode_quopri', ] import base64 from quopri import encodestring as _encodestring def _qencode(s): enc = _encodestring(s, quotetabs=True) # Must encode spaces, which quopri.encodestring() doesn't do return enc.replace(' ', '=20') def _bencode(s): # We can't quite use base64.encodestring() since it tacks on a "courtesy # newline". Blech! if not s: return s hasnewline = (s[-1] == '\n') value = base64.encodestring(s) if not hasnewline and value[-1] == '\n': return value[:-1] return value def encode_base64(msg): """Encode the message's payload in Base64. Also, add an appropriate Content-Transfer-Encoding header. """ orig = msg.get_payload() encdata = _bencode(orig) msg.set_payload(encdata) msg['Content-Transfer-Encoding'] = 'base64' def encode_quopri(msg): """Encode the message's payload in quoted-printable. Also, add an appropriate Content-Transfer-Encoding header. """ orig = msg.get_payload() encdata = _qencode(orig) msg.set_payload(encdata) msg['Content-Transfer-Encoding'] = 'quoted-printable' def encode_7or8bit(msg): """Set the Content-Transfer-Encoding header to 7bit or 8bit.""" orig = msg.get_payload() if orig is None: # There's no payload. For backwards compatibility we use 7bit msg['Content-Transfer-Encoding'] = '7bit' return # We play a trick to make this go fast. If encoding to ASCII succeeds, we # know the data must be 7bit, otherwise treat it as 8bit. try: orig.encode('ascii') except UnicodeError: msg['Content-Transfer-Encoding'] = '8bit' else: msg['Content-Transfer-Encoding'] = '7bit' def encode_noop(msg): """Do nothing."""
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
mime | Folder | 0755 |
|
|
.__init__.pyo.40009 | File | 2.8 KB | 0644 |
|
._parseaddr.pyo.40009 | File | 13.57 KB | 0644 |
|
.base64mime.pyo.40009 | File | 5.2 KB | 0644 |
|
.encoders.pyo.40009 | File | 2.18 KB | 0644 |
|
.errors.pyo.40009 | File | 3.45 KB | 0644 |
|
.generator.pyo.40009 | File | 10.14 KB | 0644 |
|
.iterators.pyo.40009 | File | 2.31 KB | 0644 |
|
.message.pyo.40009 | File | 28 KB | 0644 |
|
.parser.pyo.40009 | File | 3.74 KB | 0644 |
|
.quoprimime.pyo.40009 | File | 8.64 KB | 0644 |
|
.utils.pyo.40009 | File | 8.95 KB | 0644 |
|
__init__.py | File | 2.79 KB | 0644 |
|
__init__.pyc | File | 2.8 KB | 0644 |
|
__init__.pyo | File | 2.8 KB | 0644 |
|
_parseaddr.py | File | 15.76 KB | 0644 |
|
_parseaddr.pyc | File | 13.57 KB | 0644 |
|
_parseaddr.pyo | File | 13.57 KB | 0644 |
|
base64mime.py | File | 5.66 KB | 0644 |
|
base64mime.pyc | File | 5.2 KB | 0644 |
|
base64mime.pyo | File | 5.2 KB | 0644 |
|
charset.py | File | 15.67 KB | 0644 |
|
charset.pyc | File | 13.22 KB | 0644 |
|
charset.pyo | File | 13.18 KB | 0644 |
|
encoders.py | File | 1.97 KB | 0644 |
|
encoders.pyc | File | 2.18 KB | 0644 |
|
encoders.pyo | File | 2.18 KB | 0644 |
|
errors.py | File | 1.59 KB | 0644 |
|
errors.pyc | File | 3.45 KB | 0644 |
|
errors.pyo | File | 3.45 KB | 0644 |
|
feedparser.py | File | 20.12 KB | 0644 |
|
feedparser.pyc | File | 10.88 KB | 0644 |
|
feedparser.pyo | File | 10.79 KB | 0644 |
|
generator.py | File | 13.89 KB | 0644 |
|
generator.pyc | File | 10.14 KB | 0644 |
|
generator.pyo | File | 10.14 KB | 0644 |
|
header.py | File | 21.72 KB | 0644 |
|
header.pyc | File | 13.34 KB | 0644 |
|
header.pyo | File | 13.27 KB | 0644 |
|
iterators.py | File | 2.15 KB | 0644 |
|
iterators.pyc | File | 2.31 KB | 0644 |
|
iterators.pyo | File | 2.31 KB | 0644 |
|
message.py | File | 30 KB | 0644 |
|
message.pyc | File | 28 KB | 0644 |
|
message.pyo | File | 28 KB | 0644 |
|
parser.py | File | 3.22 KB | 0644 |
|
parser.pyc | File | 3.74 KB | 0644 |
|
parser.pyo | File | 3.74 KB | 0644 |
|
quoprimime.py | File | 10.59 KB | 0644 |
|
quoprimime.pyc | File | 8.64 KB | 0644 |
|
quoprimime.pyo | File | 8.64 KB | 0644 |
|
utils.py | File | 13.53 KB | 0644 |
|
utils.pyc | File | 11.86 KB | 0644 |
|
utils.pyo | File | 11.86 KB | 0644 |
|