|
@@ -1,19 +1,22 @@
|
|
|
#!/usr/bin/python
|
|
|
|
|
|
+from __future__ import print_function
|
|
|
+from __future__ import with_statement
|
|
|
import sys
|
|
|
import re
|
|
|
-
|
|
|
+import os
|
|
|
|
|
|
|
|
|
def lintfile(fname):
|
|
|
have_warned = []
|
|
|
+
|
|
|
def warn(s):
|
|
|
if not have_warned:
|
|
|
have_warned.append(1)
|
|
|
- print fname,":"
|
|
|
- print "\t",s
|
|
|
+ print("{}:".format(fname))
|
|
|
+ print("\t{}".format(s))
|
|
|
|
|
|
- m = re.search(r'(\d{3,})', fname)
|
|
|
+ m = re.search(r'(\d{3,})', os.path.basename(fname))
|
|
|
if m:
|
|
|
bugnum = m.group(1)
|
|
|
else:
|
|
@@ -23,7 +26,7 @@ def lintfile(fname):
|
|
|
contents = f.read()
|
|
|
|
|
|
if bugnum and bugnum not in contents:
|
|
|
- warn("bug number %s does not appear"%bugnum)
|
|
|
+ warn("bug number {} does not appear".format(bugnum))
|
|
|
|
|
|
lines = contents.split("\n")
|
|
|
isBug = ("bug" in lines[0] or "fix" in lines[0])
|
|
@@ -44,11 +47,12 @@ def lintfile(fname):
|
|
|
if re.search(r'[bB]ug (\d+)', contents):
|
|
|
if not re.search(r'[Bb]ugfix on ', contents):
|
|
|
warn("bugfix does not say 'bugfix on X.Y.Z'")
|
|
|
- elif not re.search('[fF]ixes ([a-z ]*)bug (\d+); bugfix on ', contents):
|
|
|
+ elif not re.search('[fF]ixes ([a-z ]*)bug (\d+); bugfix on ',
|
|
|
+ contents):
|
|
|
warn("bugfix incant is not semicoloned")
|
|
|
|
|
|
|
|
|
-if __name__=='__main__':
|
|
|
+if __name__ == '__main__':
|
|
|
for fname in sys.argv[1:]:
|
|
|
if fname.endswith("~"):
|
|
|
continue
|