Mercurial > public > mercurial-scm > hg
comparison mercurial/pycompat.py @ 36334:4cd2d1cc2a31
pycompat: correct the shlex.split() proxy method signature in py3
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Tue, 20 Feb 2018 21:37:30 -0500 |
parents | b44fac3a49fb |
children | 63fe5ca93b13 |
comparison
equal
deleted
inserted
replaced
36333:579c28576ba5 | 36334:4cd2d1cc2a31 |
---|---|
259 """ | 259 """ |
260 dic = dict((k.encode('latin-1'), v) for k, v in dic.iteritems()) | 260 dic = dict((k.encode('latin-1'), v) for k, v in dic.iteritems()) |
261 return dic | 261 return dic |
262 | 262 |
263 # TODO: handle shlex.shlex(). | 263 # TODO: handle shlex.shlex(). |
264 def shlexsplit(s): | 264 def shlexsplit(s, comments=False, posix=True): |
265 """ | 265 """ |
266 Takes bytes argument, convert it to str i.e. unicodes, pass that into | 266 Takes bytes argument, convert it to str i.e. unicodes, pass that into |
267 shlex.split(), convert the returned value to bytes and return that for | 267 shlex.split(), convert the returned value to bytes and return that for |
268 Python 3 compatibility as shelx.split() don't accept bytes on Python 3. | 268 Python 3 compatibility as shelx.split() don't accept bytes on Python 3. |
269 """ | 269 """ |
270 ret = shlex.split(s.decode('latin-1')) | 270 ret = shlex.split(s.decode('latin-1'), comments, posix) |
271 return [a.encode('latin-1') for a in ret] | 271 return [a.encode('latin-1') for a in ret] |
272 | 272 |
273 def emailparser(*args, **kwargs): | 273 def emailparser(*args, **kwargs): |
274 import email.parser | 274 import email.parser |
275 return email.parser.BytesParser(*args, **kwargs) | 275 return email.parser.BytesParser(*args, **kwargs) |