aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/console
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2012-06-02 18:41:44 -0700
committerAldo Cortesi <aldo@nullcube.com>2012-06-02 18:41:44 -0700
commitb36e37f9dad880f3071c6e65bce13e78988f3dba (patch)
tree9084ea644edb30a9212a4fa4e79e18154c702b4a /libmproxy/console
parentf9b04b84cd48b903ecd83092c6c4b9fd5f4fd438 (diff)
downloadmitmproxy-b36e37f9dad880f3071c6e65bce13e78988f3dba.tar.gz
mitmproxy-b36e37f9dad880f3071c6e65bce13e78988f3dba.tar.bz2
mitmproxy-b36e37f9dad880f3071c6e65bce13e78988f3dba.zip
Fix a traceback that sometimes occurred when an invalid limit was entered.
Diffstat (limited to 'libmproxy/console')
-rw-r--r--libmproxy/console/__init__.py14
1 files changed, 7 insertions, 7 deletions
diff --git a/libmproxy/console/__init__.py b/libmproxy/console/__init__.py
index 3db188de..2e28b6cf 100644
--- a/libmproxy/console/__init__.py
+++ b/libmproxy/console/__init__.py
@@ -94,6 +94,7 @@ class PathEdit(urwid.Edit, _PathCompleter):
class ActionBar(common.WWrap):
def __init__(self):
self.message("")
+ self.expire = None
def selectable(self):
return True
@@ -102,6 +103,7 @@ class ActionBar(common.WWrap):
self.w = PathEdit(prompt, text)
def prompt(self, prompt, text = ""):
+ self.expire = None
# A (partial) workaround for this Urwid issue:
# https://github.com/Nic0/tyrs/issues/115
# We can remove it once veryone is beyond 1.0.1
@@ -109,14 +111,14 @@ class ActionBar(common.WWrap):
prompt = unicode(prompt)
self.w = urwid.Edit(prompt, text or "")
- def message(self, message):
+ def message(self, message, expire=None):
+ self.expire = expire
self.w = urwid.Text(message)
class StatusBar(common.WWrap):
def __init__(self, master, helptext):
self.master, self.helptext = master, helptext
- self.expire = None
self.ab = ActionBar()
self.ib = common.WWrap(urwid.Text(""))
self.w = urwid.Pile([self.ib, self.ab])
@@ -188,7 +190,7 @@ class StatusBar(common.WWrap):
return r
def redraw(self):
- if self.expire and time.time() > self.expire:
+ if self.ab.expire and time.time() > self.ab.expire:
self.message("")
fc = self.master.state.flow_count()
@@ -238,10 +240,8 @@ class StatusBar(common.WWrap):
def message(self, msg, expire=None):
if expire:
- self.expire = time.time() + float(expire)/1000
- else:
- self.expire = None
- self.ab.message(msg)
+ expire = time.time() + float(expire)/1000
+ self.ab.message(msg, expire)
self.master.drawscreen()