[PATCH] churn: simplify code to get terminal width
Christian Ebert
blacktrash at gmx.net
Tue Jul 24 13:52:00 UTC 2007
# HG changeset patch
# User Christian Ebert <blacktrash at gmx.net>
# Date 1185285092 -7200
# Node ID 3233a5e4746424583fad5b26f18335a1111d4347
# Parent a0d37976cd5bbea3cadbea6ed305ae55bcf369b0
churn: simplify code to get terminal width
Until progressbar is included steal its array part.
diff --git a/contrib/churn.py b/contrib/churn.py
--- a/contrib/churn.py
+++ b/contrib/churn.py
@@ -22,20 +22,16 @@ def get_tty_width():
except ValueError:
pass
try:
- import termios, fcntl, struct
- buf = 'abcd'
+ import termios, array, fcntl
for dev in (sys.stdout, sys.stdin):
try:
- if buf != 'abcd':
- break
fd = dev.fileno()
if not os.isatty(fd):
continue
- buf = fcntl.ioctl(fd, termios.TIOCGWINSZ, buf)
+ arri = fcntl.ioctl(fd, termios.TIOCGWINSZ, '\0' * 8)
+ return array.array('h', arri)[:2]
except ValueError:
pass
- if buf != 'abcd':
- return struct.unpack('hh', buf)[1]
except ImportError:
pass
return 80
More information about the Mercurial-devel
mailing list