[PATCH] D48098: clang-format-diff: Switch to python3 by default, support python 2.7
Marco Falke via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jun 26 03:57:06 PDT 2018
MarcoFalke updated this revision to Diff 152867.
MarcoFalke added a comment.
Keep python2 by default for now
https://reviews.llvm.org/D48098
Files:
tools/clang-format/clang-format-diff.py
Index: tools/clang-format/clang-format-diff.py
===================================================================
--- tools/clang-format/clang-format-diff.py
+++ tools/clang-format/clang-format-diff.py
@@ -25,10 +25,12 @@
import argparse
import difflib
import re
-import string
import subprocess
-import StringIO
import sys
+try:
+ from StringIO import StringIO
+except ImportError:
+ from io import StringIO
def main():
@@ -84,36 +86,39 @@
line_count = int(match.group(3))
if line_count == 0:
continue
- end_line = start_line + line_count - 1;
+ end_line = start_line + line_count - 1
lines_by_file.setdefault(filename, []).extend(
['-lines', str(start_line) + ':' + str(end_line)])
# Reformat files containing changes in place.
- for filename, lines in lines_by_file.iteritems():
+ for filename, lines in lines_by_file.items():
if args.i and args.verbose:
- print 'Formatting', filename
+ print('Formatting {}'.format(filename))
command = [args.binary, filename]
if args.i:
command.append('-i')
if args.sort_includes:
command.append('-sort-includes')
command.extend(lines)
if args.style:
command.extend(['-style', args.style])
- p = subprocess.Popen(command, stdout=subprocess.PIPE,
- stderr=None, stdin=subprocess.PIPE)
+ p = subprocess.Popen(command,
+ stdout=subprocess.PIPE,
+ stderr=None,
+ stdin=subprocess.PIPE,
+ universal_newlines=True)
stdout, stderr = p.communicate()
if p.returncode != 0:
- sys.exit(p.returncode);
+ sys.exit(p.returncode)
if not args.i:
with open(filename) as f:
code = f.readlines()
- formatted_code = StringIO.StringIO(stdout).readlines()
+ formatted_code = StringIO(stdout).readlines()
diff = difflib.unified_diff(code, formatted_code,
filename, filename,
'(before formatting)', '(after formatting)')
- diff_string = string.join(diff, '')
+ diff_string = ''.join(diff)
if len(diff_string) > 0:
sys.stdout.write(diff_string)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D48098.152867.patch
Type: text/x-patch
Size: 2278 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180626/05721fbb/attachment.bin>
More information about the cfe-commits
mailing list