From 97a9bccd97c4f02be2163202d56933570b056471 Mon Sep 17 00:00:00 2001 From: "biao716.wang" Date: Wed, 12 Jul 2023 17:20:27 +0900 Subject: [PATCH] covert the captured error info to string Change-Id: I7c93fdb36085b8bcfc79f4fcd447329474746921 Signed-off-by: biao716.wang --- mic/msger.py | 5 ++++- mic/utils/errors.py | 6 +++++- mic/utils/misc.py | 4 ++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/mic/msger.py b/mic/msger.py index 8402f0e..f7131e1 100644 --- a/mic/msger.py +++ b/mic/msger.py @@ -148,6 +148,8 @@ class RedirectedStderr(object): if self.tmpfile: self.tmpfile.seek(0, 0) self.value = self.tmpfile.read() + if isinstance(self.value, bytes): + self.value = self.value.decode() def getvalue(self): """ Read the bufferred data """ @@ -156,6 +158,8 @@ class RedirectedStderr(object): self.value = self.tmpfile.read() os.ftruncate(self.tmpfile.fileno(), 0) os.lseek(self.tmpfile.fileno(), 0, os.SEEK_SET) + if isinstance(self.value, bytes): + self.value = self.value.decode() return self.value return None @@ -213,7 +217,6 @@ class MicFileHandler(logging.FileHandler): """ Log catched error message from stderr redirector """ if not self.errmsg: return - sys.stdout.write(self.errmsg) sys.stdout.flush() diff --git a/mic/utils/errors.py b/mic/utils/errors.py index d0c8e40..1377e9e 100644 --- a/mic/utils/errors.py +++ b/mic/utils/errors.py @@ -28,7 +28,11 @@ class CreatorError(Exception): if isinstance(self.msg, str): pass else: - self.msg = str(self.msg) + try: + self.msg = self.msg.deocde() + except: + self.msg = str(self.msg) + pass return self.msg def __repr__(self): diff --git a/mic/utils/misc.py b/mic/utils/misc.py index fd7a080..17136e7 100755 --- a/mic/utils/misc.py +++ b/mic/utils/misc.py @@ -637,7 +637,7 @@ def get_rpmver_in_repo(repometadata): versionlist = [] for elm in root.iter("%spackage" % ns): if elm.find("%sname" % ns).text == 'rpm': - for node in elm.getchildren(): + for node in list(elm): if node.tag == "%sversion" % ns: versionlist.append(node.attrib['ver']) @@ -813,7 +813,7 @@ def get_source_name(pkg, repometadata): ver = tmpver fmt = elm.find("%sformat" % ns) if fmt: - fns = fmt.getchildren()[0].tag + fns = list(fmt)[0].tag fns = fns[0:fns.rindex("}")+1] pkgpath = fmt.find("%ssourcerpm" % fns).text target_repo = repo -- 2.7.4