procutil: define LineBufferedWrapper on all Python versions
authorManuel Jacob <me@manueljacob.de>
Thu, 02 Jul 2020 04:37:18 +0200
changeset 45039 2bfbd7d2c204
parent 45038 c7d109c400a4
child 45040 fd205a9c358a
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.
mercurial/utils/procutil.py
--- 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