diff options
author | Lars Wirzenius <liw@liw.fi> | 2010-06-06 15:02:05 +1200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2010-06-06 15:02:05 +1200 |
commit | b180061a5f74e156c0667d88ed664c1ede42fda5 (patch) | |
tree | fa9b26e7dd70a4cbc4e3bb1d41db2782a8de96f1 | |
parent | af9819a9c30af45ce0590c0d3c44c43cad7738a1 (diff) | |
download | python-ttystatus-b180061a5f74e156c0667d88ed664c1ede42fda5.tar.gz |
Add TerminalStatus.increase.
-rw-r--r-- | ttystatus/status.py | 4 | ||||
-rw-r--r-- | ttystatus/status_tests.py | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/ttystatus/status.py b/ttystatus/status.py index 3584499..5a4e0fe 100644 --- a/ttystatus/status.py +++ b/ttystatus/status.py @@ -52,6 +52,10 @@ class TerminalStatus(object): w.update(self, 999) self._m.write(''.join(str(w) for w in self._widgets)) + def increase(self, key, delta): + '''Increase value for a key by a given amount.''' + self[key] = (self[key] or 0) + delta + def notify(self, msg): '''Show a message.''' self._m.notify(msg) diff --git a/ttystatus/status_tests.py b/ttystatus/status_tests.py index 5640680..5b4cada 100644 --- a/ttystatus/status_tests.py +++ b/ttystatus/status_tests.py @@ -65,6 +65,12 @@ class TerminalStatusTests(unittest.TestCase): self.assertEqual(str(w), '') self.ts['foo'] = 'bar' self.assertEqual(str(w), 'bar') + + def test_increases_value(self): + self.ts['foo'] = 10 + self.assertEqual(self.ts['foo'], 10) + self.ts.increase('foo', 10) + self.assertEqual(self.ts['foo'], 20) def test_has_notify_method(self): self.assertEqual(self.ts.notify('foo'), None) |