aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2016-07-21 19:43:56 -0700
committerMaximilian Hils <git@maximilianhils.com>2016-07-21 19:44:20 -0700
commit8a2c7bea8e66a73679a5ebd3287f8eaeec1063ce (patch)
tree0f8935a35ba2701b749de224d23693ca39110711
parentdaae51823de79ca728e32d7925e239231c85e442 (diff)
downloadmitmproxy-8a2c7bea8e66a73679a5ebd3287f8eaeec1063ce.tar.gz
mitmproxy-8a2c7bea8e66a73679a5ebd3287f8eaeec1063ce.tar.bz2
mitmproxy-8a2c7bea8e66a73679a5ebd3287f8eaeec1063ce.zip
py3: fix copy to clipboard
-rw-r--r--mitmproxy/console/common.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/mitmproxy/console/common.py b/mitmproxy/console/common.py
index 6f0b46dd..c7f87a8f 100644
--- a/mitmproxy/console/common.py
+++ b/mitmproxy/console/common.py
@@ -134,7 +134,11 @@ def save_data(path, data):
if not path:
return
try:
- with open(path, "wb") as f:
+ if isinstance(data, bytes):
+ mode = "wb"
+ else:
+ mode = "w"
+ with open(path, mode) as f:
f.write(data)
except IOError as v:
signals.status_message.send(message=v.strerror)
@@ -193,10 +197,9 @@ def ask_scope_and_callback(flow, cb, *args):
def copy_to_clipboard_or_prompt(data):
# pyperclip calls encode('utf-8') on data to be copied without checking.
# if data are already encoded that way UnicodeDecodeError is thrown.
- toclip = ""
- try:
- toclip = data.decode('utf-8')
- except (UnicodeDecodeError):
+ if isinstance(data, bytes):
+ toclip = data.decode("utf8", "replace")
+ else:
toclip = data
try: