[PATCH 3 of 6] check-code.py: Add a ``checkfile`` function
pierre-yves.david at logilab.fr
pierre-yves.david at logilab.fr
Tue Mar 16 13:54:29 CDT 2010
# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at logilab.fr>
# Date 1268765577 -3600
# Branch stable
# Node ID a4d359e922e7e82bd450ca5616cd058564dab157
# Parent 128c0f0fcdced5b3012728218db424d556faf956
check-code.py: Add a ``checkfile`` function
The part of the code actually checking each file is moved in the ``checkfile``
function to allow external reuses.
diff --git a/contrib/check-code.py b/contrib/check-code.py
--- a/contrib/check-code.py
+++ b/contrib/check-code.py
@@ -132,6 +132,36 @@
('test script', r'(.*/)?test-[^.~]*$', testfilters, testpats),
('c', r'.*\.c$', cfilters, cpats),
]
+def checkfile(f):
+ """checks style and portability of a given file"""
+ for name, match, filters, pats in checks:
+ fc = 0
+ if not re.match(match, f):
+ continue
+ pre = post = open(f).read()
+ if "no-" + "check-code" in pre:
+ break
+ for p, r in filters:
+ post = re.sub(p, r, post)
+ # print post # uncomment to show filtered version
+ z = enumerate(zip(pre.splitlines(), post.splitlines(True)))
+ for n, l in z:
+ if "check-code" + "-ignore" in l[0]:
+ continue
+ lc = 0
+ for p, msg in pats:
+ if re.search(p, l[1]):
+ if not lc:
+ print "%s:%d:" % (f, n + 1)
+ print " > %s" % l[0]
+ print " %s" % msg
+ lc += 1
+ fc += 1
+ if fc == 15:
+ print " (too many errors, giving up)"
+ break
+ break
+
if __name__ == "__main__":
if len(sys.argv) == 1:
@@ -140,30 +170,4 @@
check = sys.argv[1:]
for f in check:
- for name, match, filters, pats in checks:
- fc = 0
- if not re.match(match, f):
- continue
- pre = post = open(f).read()
- if "no-" + "check-code" in pre:
- break
- for p, r in filters:
- post = re.sub(p, r, post)
- # print post # uncomment to show filtered version
- z = enumerate(zip(pre.splitlines(), post.splitlines(True)))
- for n, l in z:
- if "check-code" + "-ignore" in l[0]:
- continue
- lc = 0
- for p, msg in pats:
- if re.search(p, l[1]):
- if not lc:
- print "%s:%d:" % (f, n + 1)
- print " > %s" % l[0]
- print " %s" % msg
- lc += 1
- fc += 1
- if fc == 15:
- print " (too many errors, giving up)"
- break
- break
+ checkfile(f)
More information about the Mercurial-devel
mailing list