From fcc4899b60844f30399da18408ee57fe6b130bfd Mon Sep 17 00:00:00 2001 From: Tangyuxin <462747508@qq.com> Date: Sun, 17 Apr 2022 23:42:32 +0800 Subject: [PATCH] [tools] Add Python 3 compatibility patch (#5825) --- tools/iar.py | 5 +++-- tools/mkromfs.py | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/tools/iar.py b/tools/iar.py index 6b31976d05..687b125174 100644 --- a/tools/iar.py +++ b/tools/iar.py @@ -190,7 +190,7 @@ def IARVersion(): return path - path = IARPath(); + path = IARPath() if os.path.exists(path): cmd = os.path.join(path, 'iccarm.exe') @@ -200,7 +200,8 @@ def IARVersion(): child = subprocess.Popen([cmd, '--version'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) stdout, stderr = child.communicate() - + if not isinstance(stdout, str): + stdout = str(stdout, 'utf8') # Patch for Python 3 # example stdout: IAR ANSI C/C++ Compiler V8.20.1.14183/W32 for ARM iar_version = re.search('[\d\.]+', stdout).group(0) if GetOption('verbose'): diff --git a/tools/mkromfs.py b/tools/mkromfs.py index 9f4f24d0d6..c6d6c3237a 100644 --- a/tools/mkromfs.py +++ b/tools/mkromfs.py @@ -191,7 +191,7 @@ class Folder(object): else: assert False, 'Unkown instance:%s' % str(c) - name = bytes(c.bin_name) + name = bytes(c.bin_name.encode('utf-8')) name_addr = v_len v_len += len(name) @@ -200,7 +200,7 @@ class Folder(object): # pad the data to 4 bytes boundary pad_len = 4 if len(data) % pad_len != 0: - data += '\0' * (pad_len - len(data) % pad_len) + data += ('\0' * (pad_len - len(data) % pad_len)).encode('utf-8') v_len += len(data) d_li.append(self.bin_fmt.pack(*self.bin_item( @@ -232,7 +232,7 @@ const struct romfs_dirent {name} = {{ def get_bin_data(tree, base_addr): v_len = base_addr + Folder.bin_fmt.size - name = bytes('/\0\0\0') + name = bytes('/\0\0\0'.encode("utf-8")) name_addr = v_len v_len += len(name) data_addr = v_len -- GitLab