Mercurial > public > mercurial-scm > hg
comparison mercurial/mail.py @ 36119:6ea7f1c10c81
py3: cast character set to bytes
The returned value from this function is eventually fed into
email.charset.Charset.__init__. However, the standard library
appears to handle both string types in Python 2 and 3. So there
shouldn't be any problem returning a bytes here.
Differential Revision: https://phab.mercurial-scm.org/D2167
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sun, 11 Feb 2018 18:50:24 -0800 |
parents | 9e47bfbeb723 |
children | 54dfb65e2f82 |
comparison
equal
deleted
inserted
replaced
36118:9e47bfbeb723 | 36119:6ea7f1c10c81 |
---|---|
185 raise error.Abort(_('%r specified as email transport, ' | 185 raise error.Abort(_('%r specified as email transport, ' |
186 'but not in PATH') % method) | 186 'but not in PATH') % method) |
187 | 187 |
188 def codec2iana(cs): | 188 def codec2iana(cs): |
189 '''''' | 189 '''''' |
190 cs = email.charset.Charset(cs).input_charset.lower() | 190 cs = pycompat.sysbytes(email.charset.Charset(cs).input_charset.lower()) |
191 | 191 |
192 # "latin1" normalizes to "iso8859-1", standard calls for "iso-8859-1" | 192 # "latin1" normalizes to "iso8859-1", standard calls for "iso-8859-1" |
193 if cs.startswith("iso") and not cs.startswith("iso-"): | 193 if cs.startswith("iso") and not cs.startswith("iso-"): |
194 return "iso-" + cs[3:] | 194 return "iso-" + cs[3:] |
195 return cs | 195 return cs |