Sun, 01 Jul 2012 12:50:37 +0200
Added the configurable capability to automatically show the source, when the call frame is changed in the callstack viewer of the local variables viewer.
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 |