From 13e6e68998cdd369cfe5cdc024c7d20be2346efe Mon Sep 17 00:00:00 2001 From: Adrian Reber Date: Tue, 23 Mar 2021 08:48:03 +0000 Subject: [PATCH] lib: also handle extra pipe data correctly CI sometimes errors out encoding/decoding extra pipe data. This should fix extra pipe data for Python 3 and still keep it working on Python 2. Signed-off-by: Adrian Reber --- lib/py/images/images.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/py/images/images.py b/lib/py/images/images.py index 0a9d36f08..956932e03 100644 --- a/lib/py/images/images.py +++ b/lib/py/images/images.py @@ -311,10 +311,13 @@ class pipes_data_extra_handler: def load(self, f, pload): size = pload.bytes data = f.read(size) - return base64.encodebytes(data) + return base64.encodebytes(data).decode() def dump(self, extra, f, pload): - data = base64.decodebytes(extra) + if (sys.version_info > (3, 0)): + data = base64.decodebytes(str.encode(extra)) + else: + data = base64.decodebytes(extra) f.write(data) def skip(self, f, pload): @@ -326,10 +329,13 @@ class sk_queues_extra_handler: def load(self, f, pload): size = pload.length data = f.read(size) - return base64.encodebytes(data) + return base64.encodebytes(data).decode() def dump(self, extra, f, _unused): - data = base64.decodebytes(extra) + if (sys.version_info > (3, 0)): + data = base64.decodebytes(str.encode(extra)) + else: + data = base64.decodebytes(extra) f.write(data) def skip(self, f, pload):