Mercurial > public > mercurial-scm > hg
diff mercurial/util.py @ 30472:277f4fe6d01a
py3: provide bytes stdin/out/err through util module
Since standard streams are TextIO on Python 3, we can't use sys.stdin/out/err
directly. Fortunately we can get the underlying BytesIO via .buffer as long as
the streams aren't replaced by e.g. StringIO.
stdin/out/err are provided through util so we can wrap them by platform API.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Thu, 20 Oct 2016 23:40:24 +0900 |
parents | 00c9ac4ce816 |
children | 39d13b8c101d |
line wrap: on
line diff
--- a/mercurial/util.py Fri Oct 21 00:09:38 2016 +0900 +++ b/mercurial/util.py Thu Oct 20 23:40:24 2016 +0900 @@ -54,6 +54,9 @@ pickle = pycompat.pickle queue = pycompat.queue socketserver = pycompat.socketserver +stderr = pycompat.stderr +stdin = pycompat.stdin +stdout = pycompat.stdout stringio = pycompat.stringio urlerr = pycompat.urlerr urlparse = pycompat.urlparse @@ -62,6 +65,7 @@ if os.name == 'nt': from . import windows as platform + stdout = platform.winstdout(pycompat.stdout) else: from . import posix as platform