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