[PATCH v2 5/6] moveconfig: Handle binary files cleanly
Simon Glass
sjg at chromium.org
Fri Mar 26 04:17:29 CET 2021
Some files are not actually source code and thus can produce unicode
errors. Report this and continue.
Signed-off-by: Simon Glass <sjg at chromium.org>
---
(no changes since v1)
tools/moveconfig.py | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/tools/moveconfig.py b/tools/moveconfig.py
index 9514d9a00cb..1ac30c00281 100755
--- a/tools/moveconfig.py
+++ b/tools/moveconfig.py
@@ -12,6 +12,10 @@ config options from headers to Kconfig (defconfig).
This tool intends to help this tremendous work.
+Installing
+----------
+
+You may need to install 'python3-asteval' for the 'asteval' module.
Usage
-----
@@ -573,7 +577,11 @@ def cleanup_empty_blocks(header_path, options):
"""
pattern = re.compile(r'^\s*#\s*if.*$\n^\s*#\s*endif.*$\n*', flags=re.M)
with open(header_path) as f:
- data = f.read()
+ try:
+ data = f.read()
+ except UnicodeDecodeError as e:
+ print("Failed on file %s': %s" % (header_path, e))
+ return
new_data = pattern.sub('\n', data)
@@ -596,7 +604,11 @@ def cleanup_one_header(header_path, patterns, options):
options: option flags.
"""
with open(header_path) as f:
- lines = f.readlines()
+ try:
+ lines = f.readlines()
+ except UnicodeDecodeError as e:
+ print("Failed on file %s': %s" % (header_path, e))
+ return
matched = []
for i, line in enumerate(lines):
--
2.31.0.291.g576ba9dcdaf-goog
More information about the U-Boot
mailing list