diff options
author | Joe Stringer <joe@ovn.org> | 2017-07-04 07:16:46 -0700 |
---|---|---|
committer | Joe Stringer <joe@ovn.org> | 2017-07-06 05:45:34 -0700 |
commit | 822a3d8831563bea9e8a9b32a43721cd3221054d (patch) | |
tree | cb85583189efdaddd02e203497ab13d26b2e0760 /utilities | |
parent | 665c4688adda8e26d956f0c1caa4ef459a579ed7 (diff) | |
download | openvswitch-822a3d8831563bea9e8a9b32a43721cd3221054d.tar.gz |
checkpatch: Use default encoding from email library.
There are three paths for running the core checkpatch path: From a file,
from stdin, or reading from git output. Currently, the file version of
this calls the "email" library's decode routine which translates the
stream into a bytes array, which we later call decode() to turn it back
into a regular string. This works on python2 and python3, but the other
paths don't work in python3 due to the following error:
$ utilities/checkpatch.py -1
== Checking HEAD~0 ==
Traceback (most recent call last):
File "utilities/checkpatch.py", line 491, in <module>
if ovs_checkpatch_parse(patch, revision):
File "utilities/checkpatch.py", line 324, in ovs_checkpatch_parse
for line in text.decode().split('\n'):
AttributeError: 'str' object has no attribute 'decode'
Rather than performing this extra encode/decode, strip these out from
this path so that the stdin and git variants of checkpatch can work in
python3.
Signed-off-by: Joe Stringer <joe@ovn.org>
Acked-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'utilities')
-rwxr-xr-x | utilities/checkpatch.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/utilities/checkpatch.py b/utilities/checkpatch.py index b45a255ce..dbbab3d11 100755 --- a/utilities/checkpatch.py +++ b/utilities/checkpatch.py @@ -320,7 +320,7 @@ def ovs_checkpatch_parse(text, filename): is_co_author = re.compile(r'(\s*(Co-authored-by: )(.*))$', re.I | re.M | re.S) - for line in text.decode(errors='ignore').split('\n'): + for line in text.split('\n'): if current_file != previous_file: previous_file = current_file @@ -418,7 +418,7 @@ def ovs_checkpatch_file(filename): for part in mail.walk(): if part.get_content_maintype() == 'multipart': continue - result = ovs_checkpatch_parse(part.get_payload(decode=True), filename) + result = ovs_checkpatch_parse(part.get_payload(decode=False), filename) if result < 0: print("Lines checked: %d, Warnings: %d, Errors: %d" % (total_line, __warnings, __errors)) |