From: Ed Bartosh Date: Tue, 10 May 2016 12:28:50 +0000 (+0300) Subject: toaster: use decode('utf-8') for binary data X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=752ea00919ef054622a51ce097923309934eff2b;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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] Signed-off-by: Ed Bartosh Signed-off-by: Richard Purdie --- diff --git a/lib/toaster/bldcontrol/localhostbecontroller.py b/lib/toaster/bldcontrol/localhostbecontroller.py index b4e41968f19..3da8be43585 100644 --- a/lib/toaster/bldcontrol/localhostbecontroller.py +++ b/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/lib/toaster/bldcontrol/management/commands/loadconf.py b/lib/toaster/bldcontrol/management/commands/loadconf.py index 6d25df9e540..173e3ce5793 100644 --- a/lib/toaster/bldcontrol/management/commands/loadconf.py +++ b/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/lib/toaster/orm/models.py b/lib/toaster/orm/models.py index 9183b0cd7c5..58dc753aef7 100644 --- a/lib/toaster/orm/models.py +++ b/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: