Show More
@@ -133,6 +133,36 b' checks = [' | |||
|
133 | 133 | ('test script', r'(.*/)?test-[^.~]*$', testfilters, testpats), |
|
134 | 134 | ('c', r'.*\.c$', cfilters, cpats), |
|
135 | 135 | ] |
|
136 | def checkfile(f): | |
|
137 | """checks style and portability of a given file""" | |
|
138 | for name, match, filters, pats in checks: | |
|
139 | fc = 0 | |
|
140 | if not re.match(match, f): | |
|
141 | continue | |
|
142 | pre = post = open(f).read() | |
|
143 | if "no-" + "check-code" in pre: | |
|
144 | break | |
|
145 | for p, r in filters: | |
|
146 | post = re.sub(p, r, post) | |
|
147 | # print post # uncomment to show filtered version | |
|
148 | z = enumerate(zip(pre.splitlines(), post.splitlines(True))) | |
|
149 | for n, l in z: | |
|
150 | if "check-code" + "-ignore" in l[0]: | |
|
151 | continue | |
|
152 | lc = 0 | |
|
153 | for p, msg in pats: | |
|
154 | if re.search(p, l[1]): | |
|
155 | if not lc: | |
|
156 | print "%s:%d:" % (f, n + 1) | |
|
157 | print " > %s" % l[0] | |
|
158 | print " %s" % msg | |
|
159 | lc += 1 | |
|
160 | fc += 1 | |
|
161 | if fc == 15: | |
|
162 | print " (too many errors, giving up)" | |
|
163 | break | |
|
164 | break | |
|
165 | ||
|
136 | 166 | |
|
137 | 167 | if __name__ == "__main__": |
|
138 | 168 | if len(sys.argv) == 1: |
@@ -141,30 +171,4 b' if __name__ == "__main__":' | |||
|
141 | 171 | check = sys.argv[1:] |
|
142 | 172 | |
|
143 | 173 | for f in check: |
|
144 | for name, match, filters, pats in checks: | |
|
145 | fc = 0 | |
|
146 | if not re.match(match, f): | |
|
147 | continue | |
|
148 | pre = post = open(f).read() | |
|
149 | if "no-" + "check-code" in pre: | |
|
150 | break | |
|
151 | for p, r in filters: | |
|
152 | post = re.sub(p, r, post) | |
|
153 | # print post # uncomment to show filtered version | |
|
154 | z = enumerate(zip(pre.splitlines(), post.splitlines(True))) | |
|
155 | for n, l in z: | |
|
156 | if "check-code" + "-ignore" in l[0]: | |
|
157 | continue | |
|
158 | lc = 0 | |
|
159 | for p, msg in pats: | |
|
160 | if re.search(p, l[1]): | |
|
161 | if not lc: | |
|
162 | print "%s:%d:" % (f, n + 1) | |
|
163 | print " > %s" % l[0] | |
|
164 | print " %s" % msg | |
|
165 | lc += 1 | |
|
166 | fc += 1 | |
|
167 | if fc == 15: | |
|
168 | print " (too many errors, giving up)" | |
|
169 | break | |
|
170 | break | |
|
174 | checkfile(f) |
General Comments 0
You need to be logged in to leave comments.
Login now