root / ci / pep8.py @ 09f7ad00
History | View | Annotate | Download (1.7 kB)
1 | 09f7ad00 | Ilias Tsitsimpis | #!/usr/bin/env python
|
---|---|---|---|
2 | 09f7ad00 | Ilias Tsitsimpis | |
3 | 09f7ad00 | Ilias Tsitsimpis | """
|
4 | 09f7ad00 | Ilias Tsitsimpis | Check for pep8 error in a list of files
|
5 | 09f7ad00 | Ilias Tsitsimpis |
|
6 | 09f7ad00 | Ilias Tsitsimpis | Get a list of files as command line arguments.
|
7 | 09f7ad00 | Ilias Tsitsimpis | Of these files, invoke pep8 only for the ones that
|
8 | 09f7ad00 | Ilias Tsitsimpis | actually exists, their name ends with .py, and doesn't
|
9 | 09f7ad00 | Ilias Tsitsimpis | belong to our exclude list.
|
10 | 09f7ad00 | Ilias Tsitsimpis |
|
11 | 09f7ad00 | Ilias Tsitsimpis | """
|
12 | 09f7ad00 | Ilias Tsitsimpis | |
13 | 09f7ad00 | Ilias Tsitsimpis | import os |
14 | 09f7ad00 | Ilias Tsitsimpis | import sys |
15 | 09f7ad00 | Ilias Tsitsimpis | |
16 | 09f7ad00 | Ilias Tsitsimpis | |
17 | 09f7ad00 | Ilias Tsitsimpis | EXCLUDE = [ |
18 | 09f7ad00 | Ilias Tsitsimpis | "distribute_setup.py",
|
19 | 09f7ad00 | Ilias Tsitsimpis | "setup.py",
|
20 | 09f7ad00 | Ilias Tsitsimpis | "rapi.py",
|
21 | 09f7ad00 | Ilias Tsitsimpis | "dictconfig.py",
|
22 | 09f7ad00 | Ilias Tsitsimpis | "ordereddict.py",
|
23 | 09f7ad00 | Ilias Tsitsimpis | "parsedate.py",
|
24 | 09f7ad00 | Ilias Tsitsimpis | ] |
25 | 09f7ad00 | Ilias Tsitsimpis | |
26 | 09f7ad00 | Ilias Tsitsimpis | |
27 | 09f7ad00 | Ilias Tsitsimpis | def filter_files(files): |
28 | 09f7ad00 | Ilias Tsitsimpis | """Filter our non-useful files
|
29 | 09f7ad00 | Ilias Tsitsimpis |
|
30 | 09f7ad00 | Ilias Tsitsimpis | We want to keep only python files (ending with .py),
|
31 | 09f7ad00 | Ilias Tsitsimpis | that actually exists and are not in our exclude list
|
32 | 09f7ad00 | Ilias Tsitsimpis | """
|
33 | 09f7ad00 | Ilias Tsitsimpis | |
34 | 09f7ad00 | Ilias Tsitsimpis | # Remove duplicated file names
|
35 | 09f7ad00 | Ilias Tsitsimpis | files = list(set(files)) |
36 | 09f7ad00 | Ilias Tsitsimpis | |
37 | 09f7ad00 | Ilias Tsitsimpis | py_files = [] |
38 | 09f7ad00 | Ilias Tsitsimpis | for f in files: |
39 | 09f7ad00 | Ilias Tsitsimpis | # Check if file is a python file
|
40 | 09f7ad00 | Ilias Tsitsimpis | if not f.endswith(".py"): |
41 | 09f7ad00 | Ilias Tsitsimpis | continue
|
42 | 09f7ad00 | Ilias Tsitsimpis | #Check if file is to be excluded
|
43 | 09f7ad00 | Ilias Tsitsimpis | if os.path.basename(f) in EXCLUDE: |
44 | 09f7ad00 | Ilias Tsitsimpis | continue
|
45 | 09f7ad00 | Ilias Tsitsimpis | # Check if file existsw
|
46 | 09f7ad00 | Ilias Tsitsimpis | if not os.path.isfile(f): |
47 | 09f7ad00 | Ilias Tsitsimpis | continue
|
48 | 09f7ad00 | Ilias Tsitsimpis | # Append file name
|
49 | 09f7ad00 | Ilias Tsitsimpis | py_files.append(f) |
50 | 09f7ad00 | Ilias Tsitsimpis | |
51 | 09f7ad00 | Ilias Tsitsimpis | return py_files
|
52 | 09f7ad00 | Ilias Tsitsimpis | |
53 | 09f7ad00 | Ilias Tsitsimpis | |
54 | 09f7ad00 | Ilias Tsitsimpis | def run_pep8(files): |
55 | 09f7ad00 | Ilias Tsitsimpis | """Invoke pep8
|
56 | 09f7ad00 | Ilias Tsitsimpis |
|
57 | 09f7ad00 | Ilias Tsitsimpis | Return the exit code
|
58 | 09f7ad00 | Ilias Tsitsimpis |
|
59 | 09f7ad00 | Ilias Tsitsimpis | """
|
60 | 09f7ad00 | Ilias Tsitsimpis | if files:
|
61 | 09f7ad00 | Ilias Tsitsimpis | print "Invoke pep8 for the following files:\n %s\n\n" \ |
62 | 09f7ad00 | Ilias Tsitsimpis | % "\n ".join(files)
|
63 | 09f7ad00 | Ilias Tsitsimpis | return os.system("pep8 %s" % " ".join(files)) |
64 | 09f7ad00 | Ilias Tsitsimpis | else:
|
65 | 09f7ad00 | Ilias Tsitsimpis | print "No files to check.. aborting" |
66 | 09f7ad00 | Ilias Tsitsimpis | return 0 |
67 | 09f7ad00 | Ilias Tsitsimpis | |
68 | 09f7ad00 | Ilias Tsitsimpis | |
69 | 09f7ad00 | Ilias Tsitsimpis | def main(): |
70 | 09f7ad00 | Ilias Tsitsimpis | """Our main program
|
71 | 09f7ad00 | Ilias Tsitsimpis |
|
72 | 09f7ad00 | Ilias Tsitsimpis | Read command line arguments.
|
73 | 09f7ad00 | Ilias Tsitsimpis | Filter out non-useful files.
|
74 | 09f7ad00 | Ilias Tsitsimpis | Invoke pep8.
|
75 | 09f7ad00 | Ilias Tsitsimpis |
|
76 | 09f7ad00 | Ilias Tsitsimpis | """
|
77 | 09f7ad00 | Ilias Tsitsimpis | files = sys.argv[1:]
|
78 | 09f7ad00 | Ilias Tsitsimpis | py_files = filter_files(files) |
79 | 09f7ad00 | Ilias Tsitsimpis | exit_code = run_pep8(py_files) |
80 | 09f7ad00 | Ilias Tsitsimpis | if exit_code != 0: |
81 | 09f7ad00 | Ilias Tsitsimpis | status = "exit with status %s" % exit_code
|
82 | 09f7ad00 | Ilias Tsitsimpis | sys.exit(status) |
83 | 09f7ad00 | Ilias Tsitsimpis | |
84 | 09f7ad00 | Ilias Tsitsimpis | |
85 | 09f7ad00 | Ilias Tsitsimpis | if __name__ == "__main__": |
86 | 09f7ad00 | Ilias Tsitsimpis | main() |