mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Fix a more bytes/str confusion.
Use str.encode('raw-unicode-escape') consistently instead of bytes(string). Remove the convert_eols argument from base64mime.decode(). This matches previous API changes done to the quoprimime module.
This commit is contained in:
parent
ce36ad8a46
commit
8b3d659692
4 changed files with 20 additions and 24 deletions
|
@ -109,7 +109,7 @@ def header_encode(header, charset='iso-8859-1', keep_eols=False,
|
|||
lines = []
|
||||
for line in base64ed:
|
||||
# Ignore the last character of each line if it is a newline
|
||||
if line.endswith(NL):
|
||||
if line[-1] == ord(NL):
|
||||
line = line[:-1]
|
||||
# Add the chrome
|
||||
lines.append('=?%s?b?%s?=' % (charset, line))
|
||||
|
@ -158,25 +158,19 @@ encodestring = encode
|
|||
|
||||
|
||||
|
||||
def decode(s, convert_eols=False):
|
||||
def decode(string):
|
||||
"""Decode a raw base64 string, returning a bytes object.
|
||||
|
||||
If convert_eols is set to a string value, all canonical email linefeeds,
|
||||
e.g. "\\r\\n", in the decoded text will be converted to the value of
|
||||
convert_eols. os.linesep is a good choice for convert_eols if you are
|
||||
decoding a text attachment.
|
||||
|
||||
This function does not parse a full MIME header value encoded with
|
||||
base64 (like =?iso-8895-1?b?bmloISBuaWgh?=) -- please use the high
|
||||
level email.Header class for that functionality.
|
||||
This function does not parse a full MIME header value encoded with base64
|
||||
(like =?iso-8895-1?b?bmloISBuaWgh?=) -- use the high level
|
||||
email.Header class for that functionality.
|
||||
"""
|
||||
if not s:
|
||||
return s
|
||||
|
||||
dec = a2b_base64(s)
|
||||
if convert_eols:
|
||||
return dec.replace(CRLF, convert_eols)
|
||||
return dec
|
||||
if not string:
|
||||
return bytes()
|
||||
elif isinstance(string, str):
|
||||
return a2b_base64(string.encode('raw-unicode-escape'))
|
||||
else:
|
||||
return a2b_base64(string)
|
||||
|
||||
|
||||
# For convenience and backwards compatibility w/ standard base64 module
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue