mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
#20098: add mangle_from_ policy option.
This defaults to True in the compat32 policy for backward compatibility, but to False for all new policies. Patch by Milan Oberkirch, with a few tweaks.
This commit is contained in:
parent
224ef3ec3b
commit
fdb23c2fe5
7 changed files with 76 additions and 5 deletions
|
@ -149,12 +149,18 @@ class Policy(_PolicyBase, metaclass=abc.ABCMeta):
|
|||
during serialization. None or 0 means no line
|
||||
wrapping is done. Default is 78.
|
||||
|
||||
mangle_from_ -- a flag that, when True escapes From_ lines in the
|
||||
body of the message by putting a `>' in front of
|
||||
them. This is used when the message is being
|
||||
serialized by a generator. Default: True.
|
||||
|
||||
"""
|
||||
|
||||
raise_on_defect = False
|
||||
linesep = '\n'
|
||||
cte_type = '8bit'
|
||||
max_line_length = 78
|
||||
mangle_from_ = False
|
||||
|
||||
def handle_defect(self, obj, defect):
|
||||
"""Based on policy, either raise defect or call register_defect.
|
||||
|
@ -266,6 +272,8 @@ class Compat32(Policy):
|
|||
replicates the behavior of the email package version 5.1.
|
||||
"""
|
||||
|
||||
mangle_from_ = True
|
||||
|
||||
def _sanitize_header(self, name, value):
|
||||
# If the header value contains surrogates, return a Header using
|
||||
# the unknown-8bit charset to encode the bytes as encoded words.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue