aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/console/statusbar.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2015-03-21 11:19:20 +1300
committerAldo Cortesi <aldo@nullcube.com>2015-03-21 11:19:20 +1300
commit8725d50d03cf21b37a78c1d2fa03ade055c8a821 (patch)
tree116ebefcc1be4f2ec2b575ddecf5172049d67ec9 /libmproxy/console/statusbar.py
parentb475c8d6eacd0d6a100cf6aaddc9c9915fdfb149 (diff)
downloadmitmproxy-8725d50d03cf21b37a78c1d2fa03ade055c8a821.tar.gz
mitmproxy-8725d50d03cf21b37a78c1d2fa03ade055c8a821.tar.bz2
mitmproxy-8725d50d03cf21b37a78c1d2fa03ade055c8a821.zip
Add blinker dependency, start using it to refactor console app
Blinker lets us set up a central pub/sub mechanism to disentangle our object structure.
Diffstat (limited to 'libmproxy/console/statusbar.py')
-rw-r--r--libmproxy/console/statusbar.py19
1 files changed, 5 insertions, 14 deletions
diff --git a/libmproxy/console/statusbar.py b/libmproxy/console/statusbar.py
index a38615b4..7ad78f03 100644
--- a/libmproxy/console/statusbar.py
+++ b/libmproxy/console/statusbar.py
@@ -3,26 +3,26 @@ import time
import urwid
-from . import pathedit
+from . import pathedit, signals
from .. import utils
+
class ActionBar(urwid.WidgetWrap):
def __init__(self):
- self.message("")
+ urwid.WidgetWrap.__init__(self, urwid.Text(""))
+ signals.status_message.connect(self.message)
def selectable(self):
return True
def path_prompt(self, prompt, text):
- self.expire = None
self._w = pathedit.PathEdit(prompt, text)
def prompt(self, prompt, text = ""):
- self.expire = None
self._w = urwid.Edit(prompt, text or "")
- def message(self, message, expire=None):
+ def message(self, sender, message, expire=None):
self.expire = expire
self._w = urwid.Text(message)
@@ -127,9 +127,6 @@ class StatusBar(urwid.WidgetWrap):
return r
def redraw(self):
- if self.ab.expire and time.time() > self.ab.expire:
- self.message("")
-
fc = self.master.state.flow_count()
if self.master.state.focus is None:
offset = 0
@@ -175,9 +172,3 @@ class StatusBar(urwid.WidgetWrap):
def prompt(self, prompt, text = ""):
self.ab.prompt(prompt, text)
-
- def message(self, msg, expire=None):
- if expire:
- expire = time.time() + float(expire)/1000
- self.ab.message(msg, expire)
- self.master.loop.draw_screen()