From 5e2fcd850b334efce569db6b5a5199208520015f Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Tue, 7 May 2013 12:00:54 -0400 Subject: Compat: b64encode for py3k that works on strings and bytes --- src/lib/Bcfg2/Compat.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/lib') 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 -- cgit v1.2.3-1-g7c22