Sorry, wrong file. Martin
#!/usr/bin/env python3
import sys import re from unidiff import PatchSet def report_error(filename, line_no, error): print('%s:%d:%s' % (filename, line_no, error)) def validate(filename, line_no, line): # 1: validate line length line_expanded = line.replace('\t', ' ' * 8) if len(line_expanded) > 80: report_error(filename, line_no, 'line should not exceed 80 characters') # 2) 8 spaces check if ' ' * 8 in line: report_error(filename, line_no, '8 spaces should be replace with a tab') # 3) trailing white space if line.endswith(' '): report_error(filename, line_no, 'trailing whitespace') # 4) Dot, space, space, new sentence. if re.search('\w+\.(\s|\s{3,})\w', line): report_error(filename, line_no, 'dot, space, space, new sentence') # 5) Dot, space, space, end of comment. if re.search('\w+\.(\s{0,1}|\s{3,})\*/', line): report_error(filename, line_no, 'dot, space, space, end of comment') with open(sys.argv[1], 'rb') as diff_file: patch = PatchSet(diff_file, encoding = 'utf-8') for pfile in patch.modified_files: for hunk in pfile: delta = 0 for line in hunk: if line.is_added and line.target_line_no != None: validate(pfile.target_file.lstrip('b/'), line.target_line_no, line.value)