annotate Tools/scripts/patchcheck.py @ 71570:5467abaaf5eb

Merge from 3.2 (#10318, #12255, #12043, #12417 and other fixes)
author Éric Araujo <merwok@netwok.org>
date Fri, 29 Jul 2011 03:11:09 +0200
parents 39fadb0255cd 65d5ecefd50d
children 5993f91598ce
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
71557
65d5ecefd50d Fix missing or wrong shebangs and missing executable bits for scripts (#10318)
Éric Araujo <merwok@netwok.org>
parents: 68257
diff changeset
1 #!/usr/bin/env python3
66473
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
2 import re
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
3 import sys
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
4 import shutil
45865
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
5 import os.path
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
6 import subprocess
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
7
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
8 import reindent
66473
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
9 import untabify
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
10
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
11
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
12 def n_files_str(count):
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
13 """Return 'N file(s)' with the proper plurality on 'file'."""
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
14 return "{} file{}".format(count, "s" if count != 1 else "")
45865
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
15
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
16
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
17 def status(message, modal=False, info=None):
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
18 """Decorator to output status info to stdout."""
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
19 def decorated_fxn(fxn):
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
20 def call_fxn(*args, **kwargs):
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
21 sys.stdout.write(message + ' ... ')
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
22 sys.stdout.flush()
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
23 result = fxn(*args, **kwargs)
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
24 if not modal and not info:
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
25 print("done")
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
26 elif info:
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
27 print(info(result))
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
28 else:
66473
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
29 print("yes" if result else "NO")
45865
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
30 return result
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
31 return call_fxn
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
32 return decorated_fxn
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
33
66473
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
34
45865
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
35 @status("Getting the list of files that have been added/changed",
66473
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
36 info=lambda x: n_files_str(len(x)))
45865
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
37 def changed_files():
66473
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
38 """Get the list of changed or added files from the VCS."""
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
39 if os.path.isdir('.hg'):
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
40 cmd = 'hg status --added --modified --no-status'
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
41 else:
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
42 sys.exit('need a checkout to get modified files')
45865
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
43
66473
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
44 st = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE)
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
45 try:
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
46 st.wait()
71026
39fadb0255cd general cleaning up
Benjamin Peterson <benjamin@python.org>
parents: 71025
diff changeset
47 return [x.decode().rstrip() for x in st.stdout]
66473
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
48 finally:
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
49 st.stdout.close()
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
50
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
51
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
52 def report_modified_files(file_paths):
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
53 count = len(file_paths)
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
54 if count == 0:
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
55 return n_files_str(count)
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
56 else:
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
57 lines = ["{}:".format(n_files_str(count))]
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
58 for path in file_paths:
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
59 lines.append(" {}".format(path))
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
60 return "\n".join(lines)
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
61
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
62
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
63 @status("Fixing whitespace", info=report_modified_files)
45865
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
64 def normalize_whitespace(file_paths):
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
65 """Make sure that the whitespace for .py files have been normalized."""
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
66 reindent.makebackup = False # No need to create backups.
71026
39fadb0255cd general cleaning up
Benjamin Peterson <benjamin@python.org>
parents: 71025
diff changeset
67 fixed = [path for path in file_paths if path.endswith('.py') and
39fadb0255cd general cleaning up
Benjamin Peterson <benjamin@python.org>
parents: 71025
diff changeset
68 reindent.check(path)]
66473
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
69 return fixed
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
70
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
71
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
72 @status("Fixing C file whitespace", info=report_modified_files)
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
73 def normalize_c_whitespace(file_paths):
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
74 """Report if any C files """
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
75 fixed = []
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
76 for path in file_paths:
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
77 with open(path, 'r') as f:
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
78 if '\t' not in f.read():
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
79 continue
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
80 untabify.process(path, 8, verbose=False)
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
81 fixed.append(path)
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
82 return fixed
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
83
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
84
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
85 ws_re = re.compile(br'\s+(\r?\n)$')
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
86
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
87 @status("Fixing docs whitespace", info=report_modified_files)
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
88 def normalize_docs_whitespace(file_paths):
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
89 fixed = []
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
90 for path in file_paths:
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
91 try:
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
92 with open(path, 'rb') as f:
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
93 lines = f.readlines()
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
94 new_lines = [ws_re.sub(br'\1', line) for line in lines]
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
95 if new_lines != lines:
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
96 shutil.copyfile(path, path + '.bak')
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
97 with open(path, 'wb') as f:
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
98 f.writelines(new_lines)
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
99 fixed.append(path)
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
100 except Exception as err:
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
101 print('Cannot fix %s: %s' % (path, err))
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
102 return fixed
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
103
45865
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
104
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
105 @status("Docs modified", modal=True)
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
106 def docs_modified(file_paths):
66473
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
107 """Report if any file in the Doc directory has been changed."""
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
108 return bool(file_paths)
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
109
45865
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
110
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
111 @status("Misc/ACKS updated", modal=True)
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
112 def credit_given(file_paths):
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
113 """Check if Misc/ACKS has been changed."""
50812
a04b1c7167ba Merged revisions 68630 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 45883
diff changeset
114 return 'Misc/ACKS' in file_paths
45865
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
115
66473
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
116
45865
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
117 @status("Misc/NEWS updated", modal=True)
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
118 def reported_news(file_paths):
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
119 """Check if Misc/NEWS has been changed."""
50812
a04b1c7167ba Merged revisions 68630 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 45883
diff changeset
120 return 'Misc/NEWS' in file_paths
45865
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
121
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
122
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
123 def main():
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
124 file_paths = changed_files()
66473
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
125 python_files = [fn for fn in file_paths if fn.endswith('.py')]
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
126 c_files = [fn for fn in file_paths if fn.endswith(('.c', '.h'))]
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
127 doc_files = [fn for fn in file_paths if fn.startswith('Doc')]
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
128 special_files = {'Misc/ACKS', 'Misc/NEWS'} & set(file_paths)
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
129 # PEP 8 whitespace rules enforcement.
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
130 normalize_whitespace(python_files)
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
131 # C rules enforcement.
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
132 normalize_c_whitespace(c_files)
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
133 # Doc whitespace enforcement.
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
134 normalize_docs_whitespace(doc_files)
45865
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
135 # Docs updated.
66473
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
136 docs_modified(doc_files)
45865
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
137 # Misc/ACKS changed.
66473
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
138 credit_given(special_files)
45865
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
139 # Misc/NEWS changed.
66473
05ee6f8c0260 Merged revisions 85728,85731,85735,85766-85771,85773,85777 via svnmerge from
Georg Brandl <georg@python.org>
parents: 50812
diff changeset
140 reported_news(special_files)
45865
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
141
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
142 # Test suite run and passed.
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
143 print()
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
144 print("Did you run the test suite?")
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
145
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
146
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
147 if __name__ == '__main__':
e0e8bef0d5ec Merged revisions 61520,61523-61528,61532 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff changeset
148 main()