[PATCH 1/2] moveconfig.py: add try…except

I keep getting a UnicodeDecodeError from one of the header files while modifying the headers:
Traceback (most recent call last): File "tools/moveconfig.py", line 1953, in <module> main() File "tools/moveconfig.py", line 1927, in main cleanup_headers(configs, options) File "tools/moveconfig.py", line 675, in cleanup_headers cleanup_one_header(header_path, patterns, options) File "tools/moveconfig.py", line 599, in cleanup_one_header lines = f.readlines() File "/usr/lib64/python3.6/codecs.py", line 321, in decode (result, consumed) = self._buffer_decode(data, self.errors, final) UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 9: invalid start byte
I'm curious to know which header file is causing the problem.
Signed-off-by: Trevor Woerner twoerner@gmail.com --- tools/moveconfig.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/tools/moveconfig.py b/tools/moveconfig.py index 9514d9a00c..dd92c00bb7 100755 --- a/tools/moveconfig.py +++ b/tools/moveconfig.py @@ -596,7 +596,12 @@ 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: + print("caught exception: ", sys.exc_info()[0]) + print("header_path: ", header_path) + lines = ""
matched = [] for i, line in enumerate(lines):

Skip the processing of *.aml and *.dat files while iterating through the source in order to process header files.
Signed-off-by: Trevor Woerner twoerner@gmail.com --- tools/moveconfig.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/moveconfig.py b/tools/moveconfig.py index dd92c00bb7..1e08b3cada 100755 --- a/tools/moveconfig.py +++ b/tools/moveconfig.py @@ -672,7 +672,7 @@ def cleanup_headers(configs, options): continue for filename in filenames: if not filename.endswith(('~', '.dts', '.dtsi', '.bin', - '.elf')): + '.elf','.aml','.dat')): header_path = os.path.join(dirpath, filename) # This file contains UTF-16 data and no CONFIG symbols if header_path == 'include/video_font_data.h':

On Mon, Mar 15, 2021 at 12:01:33PM -0400, Trevor Woerner wrote:
Skip the processing of *.aml and *.dat files while iterating through the source in order to process header files.
Signed-off-by: Trevor Woerner twoerner@gmail.com
Applied to u-boot/master, thanks!

It looks like Simon beat me to this one with 7570d9bb47be24d9d73518742703f32126af8113 but I'm hoping 2/2 can still make it in.
On Mon 2021-03-15 @ 12:01:32 PM, Trevor Woerner wrote:
I keep getting a UnicodeDecodeError from one of the header files while modifying the headers:
Traceback (most recent call last): File "tools/moveconfig.py", line 1953, in <module> main() File "tools/moveconfig.py", line 1927, in main cleanup_headers(configs, options) File "tools/moveconfig.py", line 675, in cleanup_headers cleanup_one_header(header_path, patterns, options) File "tools/moveconfig.py", line 599, in cleanup_one_header lines = f.readlines() File "/usr/lib64/python3.6/codecs.py", line 321, in decode (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 9: invalid start byte
I'm curious to know which header file is causing the problem.
Signed-off-by: Trevor Woerner twoerner@gmail.com
tools/moveconfig.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/tools/moveconfig.py b/tools/moveconfig.py index 9514d9a00c..dd92c00bb7 100755 --- a/tools/moveconfig.py +++ b/tools/moveconfig.py @@ -596,7 +596,12 @@ 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:
print("caught exception: ", sys.exc_info()[0])
print("header_path: ", header_path)
lines = ""
matched = [] for i, line in enumerate(lines):
-- 2.30.0.rc0
participants (2)
-
Tom Rini
-
Trevor Woerner