summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Compat.py
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2013-05-07 12:00:54 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2013-05-07 12:00:54 -0400
commit5e2fcd850b334efce569db6b5a5199208520015f (patch)
tree4e7c11382f46079dc0acd14b420901e9cb575865 /src/lib/Bcfg2/Compat.py
parent69f5a49af88de48a9c64f7c57abec8fc5dc41f45 (diff)
downloadbcfg2-5e2fcd850b334efce569db6b5a5199208520015f.tar.gz
bcfg2-5e2fcd850b334efce569db6b5a5199208520015f.tar.bz2
bcfg2-5e2fcd850b334efce569db6b5a5199208520015f.zip
Compat: b64encode for py3k that works on strings and bytes
Diffstat (limited to 'src/lib/Bcfg2/Compat.py')
-rw-r--r--src/lib/Bcfg2/Compat.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/lib/Bcfg2/Compat.py b/src/lib/Bcfg2/Compat.py
index 4e9239e26..2ceb7555b 100644
--- a/src/lib/Bcfg2/Compat.py
+++ b/src/lib/Bcfg2/Compat.py
@@ -92,7 +92,13 @@ def u_str(string, encoding=None):
# base64 compat
if sys.hexversion >= 0x03000000:
from base64 import b64encode as _b64encode, b64decode as _b64decode
- b64encode = lambda s: _b64encode(s.encode('UTF-8')).decode('UTF-8')
+
+ def b64encode(val):
+ try:
+ return _b64encode(val)
+ except TypeError:
+ return _b64encode(val.encode('UTF-8')).decode('UTF-8')
+
b64decode = lambda s: _b64decode(s.encode('UTF-8')).decode('UTF-8')
else:
from base64 import b64encode, b64decode