From 4fe7e92056d662598d105f2e89f944fd1c981c2c Mon Sep 17 00:00:00 2001 From: Ed Bartosh Date: Tue, 10 May 2016 15:28:50 +0300 Subject: bitbake: toaster: use decode('utf-8') for binary data Decoded binary data to utf-8 to fix the following error when runnign on python 3: TypeError: Type str doesn't support the buffer API [YOCTO #9584] (Bitbake rev: 49c203bfe4083122d2954a97b4f8bb7959711a19) Signed-off-by: Ed Bartosh Signed-off-by: Richard Purdie --- bitbake/lib/toaster/bldcontrol/localhostbecontroller.py | 2 +- bitbake/lib/toaster/bldcontrol/management/commands/loadconf.py | 2 +- bitbake/lib/toaster/orm/models.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py b/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py index b4e41968f1..3da8be4358 100644 --- a/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py +++ b/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py @@ -70,7 +70,7 @@ class LocalhostBEController(BuildEnvironmentController): raise ShellCmdException(err) else: logger.debug("localhostbecontroller: shellcmd success") - return out + return out.decode('utf-8') def getGitCloneDirectory(self, url, branch): """Construct unique clone directory name out of url and branch.""" diff --git a/bitbake/lib/toaster/bldcontrol/management/commands/loadconf.py b/bitbake/lib/toaster/bldcontrol/management/commands/loadconf.py index 6d25df9e54..173e3ce579 100644 --- a/bitbake/lib/toaster/bldcontrol/management/commands/loadconf.py +++ b/bitbake/lib/toaster/bldcontrol/management/commands/loadconf.py @@ -54,7 +54,7 @@ class Command(BaseCommand): (out,err) = cmd.communicate() if cmd.returncode != 0: logging.warning("Error while importing layer vcs_url: git error: %s" % err) - for line in out.split("\n"): + for line in out.decode('utf-8').split("\n"): try: (name, path) = line.split("\t", 1) if name == remote_name: diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py index 9183b0cd7c..58dc753aef 100644 --- a/bitbake/lib/toaster/orm/models.py +++ b/bitbake/lib/toaster/orm/models.py @@ -1169,7 +1169,7 @@ class LayerIndexLayerSource(LayerSource): except URLError as e: raise Exception("Failed to read %s: %s" % (path, e.reason)) - return json.loads(res.read()) + return json.loads(res.read().decode('utf-8')) # verify we can get the basic api try: -- cgit v1.2.3-54-g00ecf