mirror of
https://github.com/python/cpython.git
synced 2025-11-01 10:45:30 +00:00
Big email 3.0 API changes, with updated unit tests and documentation.
Briefly (from the NEWS file):
- Updates for the email package:
+ All deprecated APIs that in email 2.x issued warnings have been removed:
_encoder argument to the MIMEText constructor, Message.add_payload(),
Utils.dump_address_pair(), Utils.decode(), Utils.encode()
+ New deprecations: Generator.__call__(), Message.get_type(),
Message.get_main_type(), Message.get_subtype(), the 'strict' argument to
the Parser constructor. These will be removed in email 3.1.
+ Support for Python earlier than 2.3 has been removed (see PEP 291).
+ All defect classes have been renamed to end in 'Defect'.
+ Some FeedParser fixes; also a MultipartInvariantViolationDefect will be
added to messages that claim to be multipart but really aren't.
+ Updates to documentation.
This commit is contained in:
parent
2cdd608601
commit
bb11386730
32 changed files with 438 additions and 452 deletions
|
|
@ -1,37 +1,16 @@
|
|||
# Copyright (C) 2001-2004 Python Software Foundation
|
||||
# Author: barry@python.org (Barry Warsaw)
|
||||
# Author: Barry Warsaw
|
||||
# Contact: email-sig@python.org
|
||||
|
||||
"""Encodings and related functions."""
|
||||
|
||||
import base64
|
||||
from quopri import encodestring as _encodestring
|
||||
|
||||
|
||||
|
||||
# Helpers
|
||||
try:
|
||||
from quopri import encodestring as _encodestring
|
||||
|
||||
def _qencode(s):
|
||||
enc = _encodestring(s, quotetabs=1)
|
||||
# Must encode spaces, which quopri.encodestring() doesn't do
|
||||
return enc.replace(' ', '=20')
|
||||
except ImportError:
|
||||
# Python 2.1 doesn't have quopri.encodestring()
|
||||
from cStringIO import StringIO
|
||||
import quopri as _quopri
|
||||
|
||||
def _qencode(s):
|
||||
if not s:
|
||||
return s
|
||||
hasnewline = (s[-1] == '\n')
|
||||
infp = StringIO(s)
|
||||
outfp = StringIO()
|
||||
_quopri.encode(infp, outfp, quotetabs=1)
|
||||
# Python 2.x's encode() doesn't encode spaces even when quotetabs==1
|
||||
value = outfp.getvalue().replace(' ', '=20')
|
||||
if not hasnewline and value[-1] == '\n':
|
||||
return value[:-1]
|
||||
return value
|
||||
def _qencode(s):
|
||||
enc = _encodestring(s, quotetabs=True)
|
||||
# Must encode spaces, which quopri.encodestring() doesn't do
|
||||
return enc.replace(' ', '=20')
|
||||
|
||||
|
||||
def _bencode(s):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue