aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy
diff options
context:
space:
mode:
Diffstat (limited to 'libmproxy')
-rw-r--r--libmproxy/console/__init__.py1
-rw-r--r--libmproxy/console/common.py22
-rw-r--r--libmproxy/console/flowlist.py2
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):