diff options
author | Maximilian Hils <git@maximilianhils.com> | 2016-07-21 20:09:42 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-21 20:09:42 -0700 |
commit | 6dcdc89857f4459298b5e63f2e5c7dbc793e5a2d (patch) | |
tree | 0f8935a35ba2701b749de224d23693ca39110711 | |
parent | daae51823de79ca728e32d7925e239231c85e442 (diff) | |
parent | 8a2c7bea8e66a73679a5ebd3287f8eaeec1063ce (diff) | |
download | mitmproxy-6dcdc89857f4459298b5e63f2e5c7dbc793e5a2d.tar.gz mitmproxy-6dcdc89857f4459298b5e63f2e5c7dbc793e5a2d.tar.bz2 mitmproxy-6dcdc89857f4459298b5e63f2e5c7dbc793e5a2d.zip |
Merge pull request #1400 from mhils/fix-copy-clipboard
py3: fix copy to clipboard
-rw-r--r-- | mitmproxy/console/common.py | 13 |
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: |