Mercurial > hg-stable
diff mercurial/utils/procutil.py @ 45042:2bfbd7d2c204
procutil: define LineBufferedWrapper on all Python versions
There’s nothing Python 3-only about LineBufferedWrapper. In the future, we may
want to use it on Windows, to work around missing line-buffering support.
author | Manuel Jacob <me@manueljacob.de> |
---|---|
date | Thu, 02 Jul 2020 04:37:18 +0200 |
parents | 3fadbdc47aed |
children | fd205a9c358a |
line wrap: on
line diff
--- a/mercurial/utils/procutil.py Sat Jul 04 10:47:04 2020 +0200 +++ b/mercurial/utils/procutil.py Thu Jul 02 04:37:18 2020 +0200 @@ -49,23 +49,22 @@ return False -if pycompat.ispy3: +class LineBufferedWrapper(object): + def __init__(self, orig): + self.orig = orig - class LineBufferedWrapper(object): - def __init__(self, orig): - self.orig = orig - - def __getattr__(self, attr): - return getattr(self.orig, attr) + def __getattr__(self, attr): + return getattr(self.orig, attr) - def write(self, s): - orig = self.orig - res = orig.write(s) - if s.endswith(b'\n'): - orig.flush() - return res + def write(self, s): + orig = self.orig + res = orig.write(s) + if s.endswith(b'\n'): + orig.flush() + return res - io.BufferedIOBase.register(LineBufferedWrapper) + +io.BufferedIOBase.register(LineBufferedWrapper) # glibc determines buffering on first write to stdout - if we replace a TTY