7 # This module is based on pyflakes for Python2 but was heavily hacked to |
7 # This module is based on pyflakes for Python2 but was heavily hacked to |
8 # work with Python3 and Qt (translatable messages) |
8 # work with Python3 and Qt (translatable messages) |
9 |
9 |
10 from PyQt4.QtCore import QCoreApplication |
10 from PyQt4.QtCore import QCoreApplication |
11 |
11 |
|
12 |
12 class Message(object): |
13 class Message(object): |
13 """ |
14 """ |
14 Class defining the base for all specific message classes. |
15 Class defining the base for all specific message classes. |
15 """ |
16 """ |
16 message = '' |
17 message = '' |
37 |
38 |
38 def getMessageData(self): |
39 def getMessageData(self): |
39 """ |
40 """ |
40 Public method to get the individual message data elements. |
41 Public method to get the individual message data elements. |
41 |
42 |
42 @return tuple containing file name, line number and message |
43 @return tuple containing file name, line number and message |
43 (string, integer, string) |
44 (string, integer, string) |
44 """ |
45 """ |
45 return (self.filename, self.lineno, self.message.format(*self.message_args)) |
46 return (self.filename, self.lineno, self.message.format(*self.message_args)) |
46 |
47 |
|
48 |
47 class UnusedImport(Message): |
49 class UnusedImport(Message): |
48 """ |
50 """ |
49 Class defining the "Unused Import" message. |
51 Class defining the "Unused Import" message. |
50 """ |
52 """ |
51 message = QCoreApplication.translate('py3Flakes', |
53 message = QCoreApplication.translate('py3Flakes', |
52 '{0!r} imported but unused.') |
54 '{0!r} imported but unused.') |
53 |
55 |
54 def __init__(self, filename, lineno, name): |
56 def __init__(self, filename, lineno, name): |
55 """ |
57 """ |
56 Constructor |
58 Constructor |
60 @param name name of the unused import (string) |
62 @param name name of the unused import (string) |
61 """ |
63 """ |
62 Message.__init__(self, filename, lineno) |
64 Message.__init__(self, filename, lineno) |
63 self.message_args = (name,) |
65 self.message_args = (name,) |
64 |
66 |
|
67 |
65 class RedefinedWhileUnused(Message): |
68 class RedefinedWhileUnused(Message): |
66 """ |
69 """ |
67 Class defining the "Redefined While Unused" message. |
70 Class defining the "Redefined While Unused" message. |
68 """ |
71 """ |
69 message = QCoreApplication.translate('py3Flakes', |
72 message = QCoreApplication.translate('py3Flakes', |
70 'Redefinition of unused {0!r} from line {1!r}.') |
73 'Redefinition of unused {0!r} from line {1!r}.') |
71 |
74 |
72 def __init__(self, filename, lineno, name, orig_lineno): |
75 def __init__(self, filename, lineno, name, orig_lineno): |
73 """ |
76 """ |
74 Constructor |
77 Constructor |
79 @param orig_lineno line number of the original definition (integer) |
82 @param orig_lineno line number of the original definition (integer) |
80 """ |
83 """ |
81 Message.__init__(self, filename, lineno) |
84 Message.__init__(self, filename, lineno) |
82 self.message_args = (name, orig_lineno) |
85 self.message_args = (name, orig_lineno) |
83 |
86 |
|
87 |
84 class ImportShadowedByLoopVar(Message): |
88 class ImportShadowedByLoopVar(Message): |
85 """ |
89 """ |
86 Class defining the "Import Shadowed By Loop Var" message. |
90 Class defining the "Import Shadowed By Loop Var" message. |
87 """ |
91 """ |
88 message = QCoreApplication.translate('py3Flakes', |
92 message = QCoreApplication.translate('py3Flakes', |
89 'Import {0!r} from line {1!r} shadowed by loop variable.') |
93 'Import {0!r} from line {1!r} shadowed by loop variable.') |
90 |
94 |
91 def __init__(self, filename, lineno, name, orig_lineno): |
95 def __init__(self, filename, lineno, name, orig_lineno): |
92 """ |
96 """ |
93 Constructor |
97 Constructor |
98 @param orig_lineno line number of the import (integer) |
102 @param orig_lineno line number of the import (integer) |
99 """ |
103 """ |
100 Message.__init__(self, filename, lineno) |
104 Message.__init__(self, filename, lineno) |
101 self.message_args = (name, orig_lineno) |
105 self.message_args = (name, orig_lineno) |
102 |
106 |
|
107 |
103 class ImportStarUsed(Message): |
108 class ImportStarUsed(Message): |
104 """ |
109 """ |
105 Class defining the "Import Star Used" message. |
110 Class defining the "Import Star Used" message. |
106 """ |
111 """ |
107 message = QCoreApplication.translate('py3Flakes', |
112 message = QCoreApplication.translate('py3Flakes', |
108 "'from {0} import *' used; unable to detect undefined names.") |
113 "'from {0} import *' used; unable to detect undefined names.") |
109 |
114 |
110 def __init__(self, filename, lineno, modname): |
115 def __init__(self, filename, lineno, modname): |
111 """ |
116 """ |
112 Constructor |
117 Constructor |
116 @param modname name of the module imported using star import (string) |
121 @param modname name of the module imported using star import (string) |
117 """ |
122 """ |
118 Message.__init__(self, filename, lineno) |
123 Message.__init__(self, filename, lineno) |
119 self.message_args = (modname,) |
124 self.message_args = (modname,) |
120 |
125 |
|
126 |
121 class UndefinedName(Message): |
127 class UndefinedName(Message): |
122 """ |
128 """ |
123 Class defining the "Undefined Name" message. |
129 Class defining the "Undefined Name" message. |
124 """ |
130 """ |
125 message = QCoreApplication.translate('py3Flakes', 'Undefined name {0!r}.') |
131 message = QCoreApplication.translate('py3Flakes', 'Undefined name {0!r}.') |
133 @param name undefined name (string) |
139 @param name undefined name (string) |
134 """ |
140 """ |
135 Message.__init__(self, filename, lineno) |
141 Message.__init__(self, filename, lineno) |
136 self.message_args = (name,) |
142 self.message_args = (name,) |
137 |
143 |
|
144 |
138 class UndefinedExport(Message): |
145 class UndefinedExport(Message): |
139 """ |
146 """ |
140 Class defining the "Undefined Export" message. |
147 Class defining the "Undefined Export" message. |
141 """ |
148 """ |
142 message = QCoreApplication.translate('py3Flakes', 'Undefined name {0!r} in __all__.') |
149 message = QCoreApplication.translate('py3Flakes', 'Undefined name {0!r} in __all__.') |
150 @param name undefined exported name (string) |
157 @param name undefined exported name (string) |
151 """ |
158 """ |
152 Message.__init__(self, filename, lineno) |
159 Message.__init__(self, filename, lineno) |
153 self.message_args = (name,) |
160 self.message_args = (name,) |
154 |
161 |
|
162 |
155 class UndefinedLocal(Message): |
163 class UndefinedLocal(Message): |
156 """ |
164 """ |
157 Class defining the "Undefined Local Variable" message. |
165 Class defining the "Undefined Local Variable" message. |
158 """ |
166 """ |
159 message = QCoreApplication.translate('py3Flakes', |
167 message = QCoreApplication.translate('py3Flakes', |
160 "Local variable {0!r} (defined in enclosing scope on line {1!r})" |
168 "Local variable {0!r} (defined in enclosing scope on line {1!r})" |
161 " referenced before assignment.") |
169 " referenced before assignment.") |
162 |
170 |
163 def __init__(self, filename, lineno, name, orig_lineno): |
171 def __init__(self, filename, lineno, name, orig_lineno): |
164 """ |
172 """ |
170 @param orig_lineno line number of the variable definition (integer) |
178 @param orig_lineno line number of the variable definition (integer) |
171 """ |
179 """ |
172 Message.__init__(self, filename, lineno) |
180 Message.__init__(self, filename, lineno) |
173 self.message_args = (name, orig_lineno) |
181 self.message_args = (name, orig_lineno) |
174 |
182 |
|
183 |
175 class DuplicateArgument(Message): |
184 class DuplicateArgument(Message): |
176 """ |
185 """ |
177 Class defining the "Duplicate Argument" message. |
186 Class defining the "Duplicate Argument" message. |
178 """ |
187 """ |
179 message = QCoreApplication.translate('py3Flakes', |
188 message = QCoreApplication.translate('py3Flakes', |
180 'Duplicate argument {0!r} in function definition.') |
189 'Duplicate argument {0!r} in function definition.') |
181 |
190 |
182 def __init__(self, filename, lineno, name): |
191 def __init__(self, filename, lineno, name): |
183 """ |
192 """ |
184 Constructor |
193 Constructor |
188 @param name name of the duplicate argument (string) |
197 @param name name of the duplicate argument (string) |
189 """ |
198 """ |
190 Message.__init__(self, filename, lineno) |
199 Message.__init__(self, filename, lineno) |
191 self.message_args = (name,) |
200 self.message_args = (name,) |
192 |
201 |
|
202 |
193 class RedefinedFunction(Message): |
203 class RedefinedFunction(Message): |
194 """ |
204 """ |
195 Class defining the "Redefined Function" message. |
205 Class defining the "Redefined Function" message. |
196 """ |
206 """ |
197 message = QCoreApplication.translate('py3Flakes', |
207 message = QCoreApplication.translate('py3Flakes', |
198 'Redefinition of function {0!r} from line {1!r}.') |
208 'Redefinition of function {0!r} from line {1!r}.') |
199 |
209 |
200 def __init__(self, filename, lineno, name, orig_lineno): |
210 def __init__(self, filename, lineno, name, orig_lineno): |
201 """ |
211 """ |
202 Constructor |
212 Constructor |
207 @param orig_lineno line number of the original definition (integer) |
217 @param orig_lineno line number of the original definition (integer) |
208 """ |
218 """ |
209 Message.__init__(self, filename, lineno) |
219 Message.__init__(self, filename, lineno) |
210 self.message_args = (name, orig_lineno) |
220 self.message_args = (name, orig_lineno) |
211 |
221 |
|
222 |
212 class LateFutureImport(Message): |
223 class LateFutureImport(Message): |
213 """ |
224 """ |
214 Class defining the "Late Future Import" message. |
225 Class defining the "Late Future Import" message. |
215 """ |
226 """ |
216 message = QCoreApplication.translate('py3Flakes', |
227 message = QCoreApplication.translate('py3Flakes', |
217 'Future import(s) {0!r} after other statements.') |
228 'Future import(s) {0!r} after other statements.') |
218 |
229 |
219 def __init__(self, filename, lineno, names): |
230 def __init__(self, filename, lineno, names): |
220 """ |
231 """ |
221 Constructor |
232 Constructor |
224 @param lineno line number (integer) |
235 @param lineno line number (integer) |
225 @param names names of the imported futures (string) |
236 @param names names of the imported futures (string) |
226 """ |
237 """ |
227 Message.__init__(self, filename, lineno) |
238 Message.__init__(self, filename, lineno) |
228 self.message_args = (names,) |
239 self.message_args = (names,) |
|
240 |
229 |
241 |
230 class UnusedVariable(Message): |
242 class UnusedVariable(Message): |
231 """ |
243 """ |
232 Class defining the "Unused Variable" message. |
244 Class defining the "Unused Variable" message. |
233 |
245 |
234 Indicates that a variable has been explicitly assigned to but not actually |
246 Indicates that a variable has been explicitly assigned to but not actually |
235 used. |
247 used. |
236 """ |
248 """ |
237 message = QCoreApplication.translate('py3Flakes', |
249 message = QCoreApplication.translate('py3Flakes', |
238 'Local variable {0!r} is assigned to but never used.') |
250 'Local variable {0!r} is assigned to but never used.') |
239 |
251 |
240 def __init__(self, filename, lineno, name): |
252 def __init__(self, filename, lineno, name): |
241 """ |
253 """ |
242 Constructor |
254 Constructor |