diff options
Diffstat (limited to 'libmproxy')
-rw-r--r-- | libmproxy/console/__init__.py | 1 | ||||
-rw-r--r-- | libmproxy/console/common.py | 22 | ||||
-rw-r--r-- | libmproxy/console/flowlist.py | 2 |
3 files changed, 21 insertions, 4 deletions
diff --git a/libmproxy/console/__init__.py b/libmproxy/console/__init__.py index dc551a22..527ed07d 100644 --- a/libmproxy/console/__init__.py +++ b/libmproxy/console/__init__.py @@ -299,6 +299,7 @@ class ConsoleMaster(flow.FlowMaster): def toggle_eventlog(self): self.eventlog = not self.eventlog + signals.pop_view_state.send(self) self.view_flowlist() def _readflows(self, path): diff --git a/libmproxy/console/common.py b/libmproxy/console/common.py index 6d5579d4..f7dc0d37 100644 --- a/libmproxy/console/common.py +++ b/libmproxy/console/common.py @@ -196,18 +196,36 @@ def raw_format_flow(f, focus, extended, padding): def save_data(path, data, master, state): if not path: return - path = os.path.expanduser(path) try: with file(path, "wb") as f: f.write(data) except IOError, v: signals.status_message.send(message=v.strerror) +def ask_save_overwite(path, data, master, state): + if not path: + return + path = os.path.expanduser(path) + if os.path.exists(path): + def save_overwite(k): + if k == "y": + save_data(path, data, master, state) + + signals.status_prompt_onekey.send( + prompt = "'"+path+"' already exists. Overwite?", + keys = ( + ("yes", "y"), + ("no", "n"), + ), + callback = save_overwite + ) + else: + save_data(path, data, master, state) def ask_save_path(prompt, data, master, state): signals.status_prompt_path.send( prompt = prompt, - callback = save_data, + callback = ask_save_overwite, args = (data, master, state) ) diff --git a/libmproxy/console/flowlist.py b/libmproxy/console/flowlist.py index c7a0d1b7..6ab45bad 100644 --- a/libmproxy/console/flowlist.py +++ b/libmproxy/console/flowlist.py @@ -233,8 +233,6 @@ class ConnectionItem(urwid.WidgetWrap): class FlowListWalker(urwid.ListWalker): def __init__(self, master, state): self.master, self.state = master, state - if self.state.flow_count(): - self.set_focus(0) signals.flowlist_change.connect(self.sig_flowlist_change) def sig_flowlist_change(self, sender): |