New submission from Lukas J <postboten...@gmail.com>:

When converting an email.message.Message with the policy set to 
email.policy.EmailPolicy with all default settings, I eventually end up with 
this exception:



  File "/usr/lib/python3.7/email/_header_value_parser.py", line 2727, in 
_fold_as_ew
    first_part = to_encode[:text_space]
TypeError: slice indices must be integers or None or have an __index__ method



Which is caused because text_space is a float of value +inf. This is set  on 
line 2594 of the same file: maxlen = policy.max_line_length or float("+inf")

For some reason policy.max_line_length is set to zero, even though the default 
should be 78 after a glance into the source.


So there's maybe even two issues: 

1.) The fallback for maxlen shouldn't be float("+inf"), as that is not an 
integer and thus can't be sliced by. I think a big integer would suffice 
instead, for example 100000000

2.) policy.max_line_length seems to lose it's value in the default settings 
somewhere along the way if it isn't explicitly set.


Current workaround:
Set max_line_length of the policy to a value (78 is default)

----------
components: email
messages: 335424
nosy: Lukas J, barry, r.david.murray
priority: normal
severity: normal
status: open
title: Folding tries to slice from 0 to float("+inf") when maxlength is 0
versions: Python 3.7

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue35985>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to