[New-bugs-announce] [issue33524] non-ascii characters in headers causes TypeError on email.policy.Policy.fold
radical164
report at bugs.python.org
Tue May 15 12:35:30 EDT 2018
New submission from radical164 <tptlab at tuta.io>:
Python 3.6.5 has trouble on folding email messages:
Traceback (most recent call last):
File "emailtest.py", line 7, in <module>
policy.fold("Subject", msg["Subject"])
File "/usr/lib/python3.6/email/policy.py", line 183, in fold
return self._fold(name, value, refold_binary=True)
File "/usr/lib/python3.6/email/policy.py", line 205, in _fold
return value.fold(policy=self)
File "/usr/lib/python3.6/email/headerregistry.py", line 258, in fold
return header.fold(policy=policy)
File "/usr/lib/python3.6/email/_header_value_parser.py", line 144, in fold
return _refold_parse_tree(self, policy=policy)
File "/usr/lib/python3.6/email/_header_value_parser.py", line 2651, in _refold_parse_tree
part.ew_combine_allowed, charset)
File "/usr/lib/python3.6/email/_header_value_parser.py", line 2728, in _fold_as_ew
first_part = to_encode[:text_space]
TypeError: slice indices must be integers or None or have an __index__ method
The message has non-ascii characters in header and set max_line_length=0, regardless length of the header. Here is the code to reproduce.
from email.message import EmailMessage
from email.policy import default
policy = default.clone(max_line_length=0)
msg = EmailMessage()
msg["Subject"] = "á"
policy.fold("Subject", msg["Subject"])
I first found this issue on Maildir.add, which saves the message to a file without word wrap.
----------
components: email
messages: 316680
nosy: barry, r.david.murray, radical164
priority: normal
severity: normal
status: open
title: non-ascii characters in headers causes TypeError on email.policy.Policy.fold
type: behavior
versions: Python 3.6
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue33524>
_______________________________________
More information about the New-bugs-announce
mailing list