summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2010-06-05 13:14:51 +1200
committerLars Wirzenius <liw@liw.fi>2010-06-05 13:14:51 +1200
commit5aa0d606ac48545a46ba931010c6297f65ea0099 (patch)
tree20d008ab7346deae73c4a7fb4018b8bbc021b34d
parent57238fc0e6fe07e57aeb0751c3898f646aa957e1 (diff)
downloadpython-ttystatus-5aa0d606ac48545a46ba931010c6297f65ea0099.tar.gz
Fix things so output only happens to terminals.
-rw-r--r--ttystatus/messager.py3
-rw-r--r--ttystatus/messager_tests.py6
2 files changed, 7 insertions, 2 deletions
diff --git a/ttystatus/messager.py b/ttystatus/messager.py
index c961267..21aee42 100644
--- a/ttystatus/messager.py
+++ b/ttystatus/messager.py
@@ -25,4 +25,5 @@ class Messager(object):
self.output = output or sys.stderr
def raw_write(self, string):
- self.output.write(string)
+ if self.output.isatty():
+ self.output.write(string)
diff --git a/ttystatus/messager_tests.py b/ttystatus/messager_tests.py
index 000f182..458f980 100644
--- a/ttystatus/messager_tests.py
+++ b/ttystatus/messager_tests.py
@@ -38,4 +38,8 @@ class MessagerTests(unittest.TestCase):
def test_writes_nothing_if_output_is_not_a_terminal(self):
self.messager.output = StringIO.StringIO()
self.messager.raw_write('foo')
- self.assertEqual(self.output.getvalue(), '')
+ self.assertEqual(self.messager.output.getvalue(), '')
+
+ def test_writes_something_if_output_is_not_a_terminal(self):
+ self.messager.raw_write('foo')
+ self.assertEqual(self.output.getvalue(), 'foo')