homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: email.utils.formataddr does not respect double spaces
Type: behavior Stage:
Components: email Versions: Python 3.11, Python 3.10, Python 3.9, Python 3.8, Python 3.7
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: AlecRosenbaum, barry, r.david.murray
Priority: normal Keywords:

Created on 2022年04月06日 17:45 by AlecRosenbaum, last changed 2022年04月11日 14:59 by admin.

Messages (1)
msg416891 - (view) Author: Alec Rosenbaum (AlecRosenbaum) Date: 2022年04月06日 17:45
It seems that `email.utils.formataddr` and `email.utils.parseaddr` are not directly inverse from each other, because `formataddr` does not respect double spaces within the "realname" section.
For example:
```
from email.utils import formataddr, parseaddr
identity = '"foo bar" <foo@example.com>'
print(formataddr(parseaddr(identity)))
# 'foo bar <foo@example.com>'
print(formataddr(parseaddr(formataddr(parseaddr(identity)))))
# 'foo bar <foo@example.com>'
```
The first round trip strips the quotes, and the second round trip strips the double space in the "realname" section.
The utility function only seems to check for special characters, but it should also check for double spaces.
History
Date User Action Args
2022年04月11日 14:59:58adminsetgithub: 91400
2022年04月06日 17:45:12AlecRosenbaumcreate

AltStyle によって変換されたページ (->オリジナル) /