Author: krasimir Date: Fri Aug 3 03:04:58 2018 New Revision: 338839 URL: http://llvm.org/viewvc/llvm-project?rev=338839&view=rev Log: clang-format-diff: Make it work with python3 too
Summary: It is not necessary, but would be nice if the script run on python3 as well (as opposed to only python2, which is going to be deprecated https://pythonclock.org/) Contributed by MarcoFalke! Reviewers: krasimir Reviewed By: krasimir Subscribers: lebedev.ri, sammccall, cfe-commits Differential Revision: https://reviews.llvm.org/D48098 Modified: cfe/trunk/tools/clang-format/clang-format-diff.py Modified: cfe/trunk/tools/clang-format/clang-format-diff.py URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/clang-format/clang-format-diff.py?rev=338839&r1=338838&r2=338839&view=diff ============================================================================== --- cfe/trunk/tools/clang-format/clang-format-diff.py (original) +++ cfe/trunk/tools/clang-format/clang-format-diff.py Fri Aug 3 03:04:58 2018 @@ -25,10 +25,12 @@ Example usage for git/svn users: 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,14 +86,14 @@ def main(): 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') @@ -100,20 +102,23 @@ def main(): 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) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits