Peter Barker
4 years ago
committed by
Peter Barker
3 changed files with 60 additions and 1 deletions
@ -0,0 +1,53 @@
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env python |
||||
|
||||
""" |
||||
Runs flake8 over Python files which contain a marker indicating |
||||
they are clean, ensures that they actually are |
||||
|
||||
AP_FLAKE8_CLEAN |
||||
""" |
||||
|
||||
import os |
||||
import subprocess |
||||
import sys |
||||
|
||||
import argparse |
||||
|
||||
os.environ['PYTHONUNBUFFERED'] = '1' |
||||
|
||||
|
||||
class Flake8Checker(object): |
||||
def __init__(self): |
||||
self.retcode = 0 |
||||
|
||||
def progress(self, string): |
||||
print("****** %s" % (string,)) |
||||
|
||||
def check(self, filepath): |
||||
self.progress("Checking (%s)" % filepath) |
||||
retcode = subprocess.call(["flake8", filepath]) |
||||
if retcode != 0: |
||||
self.progress("File (%s) failed with retcode (%s)" % |
||||
(filepath, retcode)) |
||||
self.retcode = 1 |
||||
|
||||
def run(self): |
||||
for (dirpath, dirnames, filenames) in os.walk("Tools"): |
||||
for filename in filenames: |
||||
if os.path.splitext(filename)[1] != ".py": |
||||
continue |
||||
filepath = os.path.join(dirpath, filename) |
||||
content = open(filepath).read() |
||||
if "AP_FLAKE8_CLEAN" not in content: |
||||
continue |
||||
self.check(filepath) |
||||
return self.retcode |
||||
|
||||
|
||||
if __name__ == '__main__': |
||||
parser = argparse.ArgumentParser(description='Check all Python files for flake8 cleanliness') |
||||
# parser.add_argument('--build', action='store_true', default=False, help='build as well as configure') |
||||
args = parser.parse_args() |
||||
|
||||
checker = Flake8Checker() |
||||
sys.exit(checker.run()) |
Loading…
Reference in new issue