OXIESEC PANEL
- Current Dir:
/
/
usr
/
lib
/
python3
/
dist-packages
/
future
/
backports
/
email
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
07/12/2020 04:36:17 PM
rwxr-xr-x
📄
__init__.py
2.22 KB
11/21/2014 11:52:03 AM
rw-r--r--
📁
__pycache__
-
07/12/2020 04:36:18 PM
rwxr-xr-x
📄
_encoded_words.py
8.25 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
_header_value_parser.py
102.24 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
_parseaddr.py
16.98 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
_policybase.py
14.3 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
base64mime.py
3.64 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
charset.py
17.03 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
encoders.py
2.73 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
errors.py
3.59 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
feedparser.py
22.2 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
generator.py
19.06 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
header.py
23.88 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
headerregistry.py
20.15 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
iterators.py
2.29 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
message.py
34.4 KB
11/21/2014 11:52:03 AM
rw-r--r--
📁
mime
-
07/12/2020 04:36:17 PM
rwxr-xr-x
📄
parser.py
5.19 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
policy.py
8.62 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
quoprimime.py
10.67 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
utils.py
13.94 KB
11/21/2014 11:52:03 AM
rw-r--r--
Editing: encoders.py
Close
# Copyright (C) 2001-2006 Python Software Foundation # Author: Barry Warsaw # Contact: email-sig@python.org """Encodings and related functions.""" from __future__ import unicode_literals from __future__ import division from __future__ import absolute_import from future.builtins import str __all__ = [ 'encode_7or8bit', 'encode_base64', 'encode_noop', 'encode_quopri', ] try: from base64 import encodebytes as _bencode except ImportError: # Py2 compatibility. TODO: test this! from base64 import encodestring as _bencode 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 encode_base64(msg): """Encode the message's payload in Base64. Also, add an appropriate Content-Transfer-Encoding header. """ orig = msg.get_payload() encdata = str(_bencode(orig), 'ascii') 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/decode to ASCII # succeeds, we know the data must be 7bit, otherwise treat it as 8bit. try: if isinstance(orig, str): orig.encode('ascii') else: orig.decode('ascii') except UnicodeError: charset = msg.get_charset() output_cset = charset and charset.output_charset # iso-2022-* is non-ASCII but encodes to a 7-bit representation if output_cset and output_cset.lower().startswith('iso-2022-'): msg['Content-Transfer-Encoding'] = '7bit' else: msg['Content-Transfer-Encoding'] = '8bit' else: msg['Content-Transfer-Encoding'] = '7bit' if not isinstance(orig, str): msg.set_payload(orig.decode('ascii', 'surrogateescape')) def encode_noop(msg): """Do nothing.""" # Well, not quite *nothing*: in Python3 we have to turn bytes into a string # in our internal surrogateescaped form in order to keep the model # consistent. orig = msg.get_payload() if not isinstance(orig, str): msg.set_payload(orig.decode('ascii', 'surrogateescape'))