diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-05-07 12:00:54 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-05-07 12:00:54 -0400 |
commit | 5e2fcd850b334efce569db6b5a5199208520015f (patch) | |
tree | 4e7c11382f46079dc0acd14b420901e9cb575865 | |
parent | 69f5a49af88de48a9c64f7c57abec8fc5dc41f45 (diff) | |
download | bcfg2-5e2fcd850b334efce569db6b5a5199208520015f.tar.gz bcfg2-5e2fcd850b334efce569db6b5a5199208520015f.tar.bz2 bcfg2-5e2fcd850b334efce569db6b5a5199208520015f.zip |
Compat: b64encode for py3k that works on strings and bytes
-rw-r--r-- | src/lib/Bcfg2/Compat.py | 8 |
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 |