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