diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2012-06-02 18:41:44 -0700 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2012-06-02 18:41:44 -0700 |
commit | b36e37f9dad880f3071c6e65bce13e78988f3dba (patch) | |
tree | 9084ea644edb30a9212a4fa4e79e18154c702b4a /libmproxy/console | |
parent | f9b04b84cd48b903ecd83092c6c4b9fd5f4fd438 (diff) | |
download | mitmproxy-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__.py | 14 |
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() |