aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/console/common.py
diff options
context:
space:
mode:
authorChoongwoo Han <cwhan.tunz@gmail.com>2015-04-23 15:02:57 +0900
committerChoongwoo Han <cwhan.tunz@gmail.com>2015-04-23 15:02:57 +0900
commitf4f57e62e55c70af12ad1044dd00009be9febf6d (patch)
tree98202ff142964c7b4bf50fb7dc545a0fe51a360a /libmproxy/console/common.py
parent10750c9f3025a7e964bfea2866fb84d8a4945e3d (diff)
downloadmitmproxy-f4f57e62e55c70af12ad1044dd00009be9febf6d.tar.gz
mitmproxy-f4f57e62e55c70af12ad1044dd00009be9febf6d.tar.bz2
mitmproxy-f4f57e62e55c70af12ad1044dd00009be9febf6d.zip
Check overwrite, when save to file instaed of clipboard
Diffstat (limited to 'libmproxy/console/common.py')
-rw-r--r--libmproxy/console/common.py22
1 files changed, 20 insertions, 2 deletions
diff --git a/libmproxy/console/common.py b/libmproxy/console/common.py
index 74d510eb..f417aade 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)
)