Skip to content

Instantly share code, notes, and snippets.

@vkosh
Created March 7, 2012 13:55
Show Gist options
  • Save vkosh/1993286 to your computer and use it in GitHub Desktop.
Save vkosh/1993286 to your computer and use it in GitHub Desktop.
From 19d7d4aa89add5f9367f83e4529c174ed50a3b71 Mon Sep 17 00:00:00 2001
From: "Vladlen Y. Koshelev" <vlad.kosh@gmail.com>
Date: Wed, 7 Mar 2012 17:33:06 +0400
Subject: [PATCH] * missed bytes <-> str conversions
---
esky/__init__.py | 4 ++--
esky/sudo/sudo_osx.py | 4 ++--
esky/sudo/sudo_unix.py | 2 +-
esky/sudo/sudo_win32.py | 8 ++++----
4 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/esky/__init__.py b/esky/__init__.py
index fbff8cd..fcb2dcb 100644
--- a/esky/__init__.py
+++ b/esky/__init__.py
@@ -627,7 +627,7 @@ class Esky(object):
raise OSError(None,"unable to cleanup: startup hooks not run")
exe = [exe,"--esky-spawn-cleanup"]
appdata = pickle.dumps(self,pickle.HIGHEST_PROTOCOL)
- exe = exe + [base64.b64encode(appdata)]
+ exe = exe + [base64.b64encode(appdata).decode('ascii')]
@atexit.register
def spawn_cleanup():
rnul = open(os.devnull,"r")
@@ -1068,7 +1068,7 @@ def run_startup_hooks():
lock_version_dir(vdir)
# Run the "spawn-cleanup" hook if given.
if len(sys.argv) > 1 and sys.argv[1] == "--esky-spawn-cleanup":
- app = pickle.loads(base64.b64decode(sys.argv[2]))
+ app = pickle.loads(base64.b64decode(sys.argv[2].encode('ascii')))
time.sleep(1)
app.cleanup()
sys.exit(0)
diff --git a/esky/sudo/sudo_osx.py b/esky/sudo/sudo_osx.py
index cf71697..a94df14 100644
--- a/esky/sudo/sudo_osx.py
+++ b/esky/sudo/sudo_osx.py
@@ -149,8 +149,8 @@ def spawn_sudo(proxy):
raise OSError(None,"unable to sudo: startup hooks not run")
exe = [sys.executable]
args = ["--esky-spawn-sudo"]
- args.append(b64encode(pickle.dumps(proxy,HIGHEST_PROTOCOL)))
- args.append(b64encode(pickle.dumps(c_pipe,HIGHEST_PROTOCOL)))
+ args.append(b64encode(pickle.dumps(proxy,HIGHEST_PROTOCOL)).decode('ascii'))
+ args.append(b64encode(pickle.dumps(c_pipe,HIGHEST_PROTOCOL)).decode('ascii'))
# Make it a slave process so it dies if we die
exe = exe + esky.slaveproc.get_slave_process_args() + args
diff --git a/esky/sudo/sudo_unix.py b/esky/sudo/sudo_unix.py
index 55626db..9acf61b 100644
--- a/esky/sudo/sudo_unix.py
+++ b/esky/sudo/sudo_unix.py
@@ -147,7 +147,7 @@ def spawn_sudo(proxy):
raise OSError(None,"unable to sudo: startup hooks not run")
exe = [sys.executable]
args = ["--esky-spawn-sudo"]
- args.append(b64encode(pickle.dumps(proxy,HIGHEST_PROTOCOL)))
+ args.append(b64encode(pickle.dumps(proxy,HIGHEST_PROTOCOL)).decode('ascii'))
# Look for a variety of sudo-like programs
sudo = None
display_name = "%s update" % (proxy.name,)
diff --git a/esky/sudo/sudo_win32.py b/esky/sudo/sudo_win32.py
index 473118b..8d25c40 100644
--- a/esky/sudo/sudo_win32.py
+++ b/esky/sudo/sudo_win32.py
@@ -300,8 +300,8 @@ def spawn_sudo(proxy):
else:
exe = [sys.executable,"-c","import esky; esky.run_startup_hooks()"]
args = ["--esky-spawn-sudo"]
- args.append(b64encode(pickle.dumps(proxy,HIGHEST_PROTOCOL)))
- args.append(b64encode(pickle.dumps(c_pipe,HIGHEST_PROTOCOL)))
+ args.append(b64encode(pickle.dumps(proxy,HIGHEST_PROTOCOL)).decode('ascii'))
+ args.append(b64encode(pickle.dumps(c_pipe,HIGHEST_PROTOCOL)).decode('ascii'))
# Make it a slave process so it dies if we die
exe = exe + esky.slaveproc.get_slave_process_args() + args
if sys.getwindowsversion()[0] < 6:
@@ -326,8 +326,8 @@ def spawn_sudo(proxy):
def run_startup_hooks():
if len(sys.argv) > 1 and sys.argv[1] == "--esky-spawn-sudo":
- proxy = pickle.loads(b64decode(sys.argv[2]))
- pipe = pickle.loads(b64decode(sys.argv[3]))
+ proxy = pickle.loads(b64decode(sys.argv[2].encode('ascii')))
+ pipe = pickle.loads(b64decode(sys.argv[3].encode('ascii')))
proxy.run(pipe)
sys.exit(0)
--
1.7.5.4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment