Tue, 01 May 2012 11:27:58 +0200
Prepared release 5.2.2.
842
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
1509
c0b5e693b0eb
Updated copyright for 2012.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
847
diff
changeset
|
3 | # Copyright (c) 2011 - 2012 Detlev Offenbach <detlev@die-offenbachs.de> |
842
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Class implementing the PEP 8 checker for Python2. |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | import sys |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | import optparse |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | import getopt |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | from Tools import readEncodedFile, normalizeCode |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | import pep8 |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | |
843
522c8befcf49
Continued implementing a PRP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
842
diff
changeset
|
18 | |
842
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | class Pep8Checker(pep8.Checker): |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | """ |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | Class implementing the PEP 8 checker for Python2. |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | """ |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | def __init__(self, filename, lines, repeat=False, |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | select="", ignore=""): |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | """ |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | Constructor |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | @param filename name of the file to check (string) |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | @param lines source of the file (list of strings) |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | @keyparam repeat flag indicating to repeat message categories (boolean) |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | @keyparam select list of message IDs to check for |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | (comma separated string) |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | @keyparam ignore list of message IDs to ignore |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | (comma separated string) |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | """ |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | pep8.options = optparse.Values() |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | pep8.options.verbose = 0 |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | pep8.options.repeat = repeat |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | if select: |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | pep8.options.select = [s.strip() for s in select.split(',') |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | if s.strip()] |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | else: |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | pep8.options.select = [] |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | if ignore: |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | pep8.options.ignore = [i.strip() for i in ignore.split(',') |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | if i.strip()] |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | else: |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | pep8.options.ignore = [] |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | pep8.options.physical_checks = pep8.find_checks('physical_line') |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | pep8.options.logical_checks = pep8.find_checks('logical_line') |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | pep8.options.counters = dict.fromkeys(pep8.BENCHMARK_KEYS, 0) |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | pep8.options.messages = {} |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | pep8.Checker.__init__(self, filename, lines) |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | self.messages = [] |
847
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
59 | self.statistics = {} |
842
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | def __ignore_code(self, code): |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | """ |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | Private method to check, if the message for the given code should |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | be ignored. |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | If codes are selected and the code has a selected prefix and does not |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | have an ignored prefix, it is not ignored. If codes are selected and |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | the code does not have a selected prefix, it is ignored. If no codes |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | are selected, the code is ignored, if it has a prefix, that is |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | contained in the ignored codes. |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | @param code code to be checked (string) |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | @return flag indicating, that the code should be ignored (boolean) |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | """ |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | if pep8.options.select: |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | if code.startswith(tuple(pep8.options.select)): |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | if code.startswith(tuple(pep8.options.ignore)): |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | return True |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | else: |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | return False |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | else: |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | return True |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | else: |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | if code.startswith(tuple(pep8.options.ignore)): |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | return True |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | else: |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | return False |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | def report_error_args(self, line_number, offset, code, check, *args): |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | """ |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | Public method to collect the error messages. |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | @param line_number line number of the issue (integer) |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | @param offset position within line of the issue (integer) |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | @param code message code (string) |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | @param check reference to the checker function (function) |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | @param args arguments for the message (list) |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | """ |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | if self.__ignore_code(code): |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | return |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | |
847
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
102 | if code in self.statistics: |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
103 | self.statistics[code] += 1 |
842
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | else: |
847
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
105 | self.statistics[code] = 1 |
842
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | self.file_errors += 1 |
847
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
107 | if self.statistics[code] == 1 or pep8.options.repeat: |
842
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | self.messages.append( |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | (self.filename, self.line_offset + line_number, |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | offset + 1, code, args) |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | ) |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | if __name__ == "__main__": |
843
522c8befcf49
Continued implementing a PRP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
842
diff
changeset
|
114 | repeat = False |
522c8befcf49
Continued implementing a PRP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
842
diff
changeset
|
115 | select = "" |
522c8befcf49
Continued implementing a PRP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
842
diff
changeset
|
116 | ignore = "" |
842
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | filename = "" |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | if "-f" not in sys.argv: |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | print "ERROR" |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | print "" |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | print "No file name given." |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | else: |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | try: |
843
522c8befcf49
Continued implementing a PRP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
842
diff
changeset
|
125 | optlist, args = getopt.getopt(sys.argv[1:], "rf:i:s:") |
842
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | except getopt.GetoptError: |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | print "ERROR" |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | print "" |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | print "Wrong arguments given" |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | sys.exit(1) |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | for opt, arg in optlist: |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | if opt == "-r": |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | repeat = True |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
135 | elif opt == "-f": |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | filename = arg |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | elif opt == "-i": |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | ignore = arg |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | elif opt == "-s": |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | select = arg |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | try: |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
143 | codestring = readEncodedFile(filename)[0] |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
144 | codestring = normalizeCode(codestring) |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
145 | codestring = codestring.splitlines(True) |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | except IOError, msg: |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | print "ERROR" |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | print filename |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | print "I/O Error: %s" % unicode(msg) |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | sys.exit(1) |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
151 | |
843
522c8befcf49
Continued implementing a PRP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
842
diff
changeset
|
152 | checker = Pep8Checker(filename, codestring, repeat=repeat, |
842
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | select=select, ignore=ignore) |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
154 | checker.check_all() |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
155 | if len(checker.messages) > 0: |
843
522c8befcf49
Continued implementing a PRP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
842
diff
changeset
|
156 | checker.messages.sort(key=lambda a: a[1]) |
842
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
157 | for message in checker.messages: |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
158 | fname, lineno, position, code, args = message |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
159 | print "PEP8" |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
160 | print fname |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
161 | print lineno |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
162 | print position |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
163 | print code |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
164 | print len(args) |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
165 | for a in args: |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | print a |
847
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
167 | print "PEP8_STATISTICS" |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
168 | for key in checker.statistics: |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
169 | print key, checker.statistics[key] |
842
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | else: |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
171 | print "NO_PEP8" |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
172 | print filename |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
173 | |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
174 | # |
984b5535cd26
Started to add the PEP 8 checker for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
175 | # eflag: FileType = Python2 |