Mercurial > hg
changeset 48883:f0c445a8e324
mail: delete conditional code for Python 2
Differential Revision: https://phab.mercurial-scm.org/D12286
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 21 Feb 2022 10:20:48 -0700 |
parents | 640e1cb6a7de |
children | 7f5e91cdebcd |
files | mercurial/mail.py |
diffstat | 1 files changed, 18 insertions(+), 33 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/mail.py Sun Feb 20 16:46:05 2022 -0700 +++ b/mercurial/mail.py Mon Feb 21 10:20:48 2022 -0700 @@ -467,43 +467,28 @@ return mimetextqp(s, 'plain', cs) -if pycompat.ispy3: - - Generator = email.generator.BytesGenerator - - def parse(fp): - # type: (Any) -> email.message.Message - ep = email.parser.Parser() - # disable the "universal newlines" mode, which isn't binary safe. - # I have no idea if ascii/surrogateescape is correct, but that's - # what the standard Python email parser does. - fp = io.TextIOWrapper( - fp, encoding='ascii', errors='surrogateescape', newline=chr(10) - ) - try: - return ep.parse(fp) - finally: - fp.detach() - - def parsebytes(data): - # type: (bytes) -> email.message.Message - ep = email.parser.BytesParser() - return ep.parsebytes(data) +Generator = email.generator.BytesGenerator -else: - - Generator = email.generator.Generator +def parse(fp): + # type: (Any) -> email.message.Message + ep = email.parser.Parser() + # disable the "universal newlines" mode, which isn't binary safe. + # I have no idea if ascii/surrogateescape is correct, but that's + # what the standard Python email parser does. + fp = io.TextIOWrapper( + fp, encoding='ascii', errors='surrogateescape', newline=chr(10) + ) + try: + return ep.parse(fp) + finally: + fp.detach() - def parse(fp): - # type: (Any) -> email.message.Message - ep = email.parser.Parser() - return ep.parse(fp) - def parsebytes(data): - # type: (str) -> email.message.Message - ep = email.parser.Parser() - return ep.parsestr(data) +def parsebytes(data): + # type: (bytes) -> email.message.Message + ep = email.parser.BytesParser() + return ep.parsebytes(data) def headdecode(s):