Utilities/py2flakes/messages.py

branch
Py2 comp.
changeset 3456
96232974dcdb
parent 3178
f25fc1364c88
parent 3445
bf95eac5ce12
child 3484
645c12de6b0c
equal deleted inserted replaced
3178:f25fc1364c88 3456:96232974dcdb
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2010 - 2014 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5 # Original (c) 2005 Divmod, Inc. See LICENSE file for details
6 #
7 # This module is based on pyflakes for Python2 but was heavily hacked to
8 # work within Eric5 and Qt (translatable messages)
9
10 """
11 Module implementing the messages for py2flakes.
12 """
13
14
15 def QT_TRANSLATE_NOOP(mod, txt):
16 """
17 Function to tell 'lupdate' which strings to keep for translation.
18
19 @param mod module name
20 @param txt translatable string
21 @return the untranslated! string
22 """
23 return txt
24
25
26 class Message(object):
27 """
28 Class defining the base for all specific message classes.
29 """
30 message = ''
31 message_args = ()
32
33 def __init__(self, filename, lineno):
34 """
35 Constructor
36
37 @param filename name of the file (string)
38 @param lineno line number (integer)
39 """
40 self.filename = filename
41 self.lineno = lineno
42
43 def __str__(self):
44 """
45 Special method return a string representation of the instance object.
46
47 @return string representation of the object (string)
48 """
49 return '%s:%s: %s' % (
50 self.filename, self.lineno, self.message % self.message_args)
51
52 def getMessageData(self):
53 """
54 Public method to get the individual message data elements.
55
56 @return tuple containing file name, line number and message
57 (string, integer, string)
58 """
59 return (self.filename, self.lineno, self.message, self.message_args)
60
61
62 class UnusedImport(Message):
63 """
64 Class defining the "Unused Import" message.
65 """
66 message = QT_TRANSLATE_NOOP(
67 'py3Flakes',
68 '{0!r} imported but unused.')
69
70 def __init__(self, filename, lineno, name):
71 """
72 Constructor
73
74 @param filename name of the file (string)
75 @param lineno line number (integer)
76 @param name name of the unused import (string)
77 """
78 Message.__init__(self, filename, lineno)
79 self.message_args = (name,)
80
81
82 class RedefinedWhileUnused(Message):
83 """
84 Class defining the "Redefined While Unused" message.
85 """
86 message = QT_TRANSLATE_NOOP(
87 'py3Flakes',
88 'Redefinition of unused {0!r} from line {1!r}.')
89
90 def __init__(self, filename, lineno, name, orig_lineno):
91 """
92 Constructor
93
94 @param filename name of the file (string)
95 @param lineno line number (integer)
96 @param name name of the redefined object (string)
97 @param orig_lineno line number of the original definition (integer)
98 """
99 Message.__init__(self, filename, lineno)
100 self.message_args = (name, orig_lineno)
101
102
103 class RedefinedInListComp(Message):
104 """
105 Class defining the list comprehension redefinition.
106 """
107 message = QT_TRANSLATE_NOOP(
108 'py3Flakes',
109 'List comprehension redefines {0!r} from line {1!r}.')
110
111 def __init__(self, filename, lineno, name, orig_lineno):
112 """
113 Constructor
114
115 @param filename name of the file (string)
116 @param lineno line number (integer)
117 @param name name of the redefined object (string)
118 @param orig_lineno line number of the original definition (integer)
119 """
120 Message.__init__(self, filename, lineno)
121 self.message_args = (name, orig_lineno)
122
123
124 class ImportShadowedByLoopVar(Message):
125 """
126 Class defining the "Import Shadowed By Loop Var" message.
127 """
128 message = QT_TRANSLATE_NOOP(
129 'py3Flakes',
130 'Import {0!r} from line {1!r} shadowed by loop variable.')
131
132 def __init__(self, filename, lineno, name, orig_lineno):
133 """
134 Constructor
135
136 @param filename name of the file (string)
137 @param lineno line number (integer)
138 @param name name of the shadowed import (string)
139 @param orig_lineno line number of the import (integer)
140 """
141 Message.__init__(self, filename, lineno)
142 self.message_args = (name, orig_lineno)
143
144
145 class ImportStarUsed(Message):
146 """
147 Class defining the "Import Star Used" message.
148 """
149 message = QT_TRANSLATE_NOOP(
150 'py3Flakes',
151 "'from {0} import *' used; unable to detect undefined names.")
152
153 def __init__(self, filename, lineno, modname):
154 """
155 Constructor
156
157 @param filename name of the file (string)
158 @param lineno line number (integer)
159 @param modname name of the module imported using star import (string)
160 """
161 Message.__init__(self, filename, lineno)
162 self.message_args = (modname,)
163
164
165 class UndefinedName(Message):
166 """
167 Class defining the "Undefined Name" message.
168 """
169 message = QT_TRANSLATE_NOOP('py3Flakes', 'Undefined name {0!r}.')
170
171 def __init__(self, filename, lineno, name):
172 """
173 Constructor
174
175 @param filename name of the file (string)
176 @param lineno line number (integer)
177 @param name undefined name (string)
178 """
179 Message.__init__(self, filename, lineno)
180 self.message_args = (name,)
181
182
183 class UndefinedExport(Message):
184 """
185 Class defining the "Undefined Export" message.
186 """
187 message = QT_TRANSLATE_NOOP(
188 'py3Flakes',
189 'Undefined name {0!r} in __all__.')
190
191 def __init__(self, filename, lineno, name):
192 """
193 Constructor
194
195 @param filename name of the file (string)
196 @param lineno line number (integer)
197 @param name undefined exported name (string)
198 """
199 Message.__init__(self, filename, lineno)
200 self.message_args = (name,)
201
202
203 class UndefinedLocal(Message):
204 """
205 Class defining the "Undefined Local Variable" message.
206 """
207 message = QT_TRANSLATE_NOOP(
208 'py3Flakes',
209 "Local variable {0!r} (defined in enclosing scope on line {1!r})"
210 " referenced before assignment.")
211
212 def __init__(self, filename, lineno, name, orig_lineno):
213 """
214 Constructor
215
216 @param filename name of the file (string)
217 @param lineno line number (integer)
218 @param name name of the prematurely referenced variable (string)
219 @param orig_lineno line number of the variable definition (integer)
220 """
221 Message.__init__(self, filename, lineno)
222 self.message_args = (name, orig_lineno)
223
224
225 class DuplicateArgument(Message):
226 """
227 Class defining the "Duplicate Argument" message.
228 """
229 message = QT_TRANSLATE_NOOP(
230 'py3Flakes',
231 'Duplicate argument {0!r} in function definition.')
232
233 def __init__(self, filename, lineno, name):
234 """
235 Constructor
236
237 @param filename name of the file (string)
238 @param lineno line number (integer)
239 @param name name of the duplicate argument (string)
240 """
241 Message.__init__(self, filename, lineno)
242 self.message_args = (name,)
243
244
245 class Redefined(Message):
246 """
247 Class defining the "Redefined" message.
248 """
249 message = QT_TRANSLATE_NOOP(
250 'py3Flakes',
251 'Redefinition of {0!r} from line {1!r}.')
252
253 def __init__(self, filename, lineno, name, orig_lineno):
254 """
255 Constructor
256
257 @param filename name of the file (string)
258 @param lineno line number (integer)
259 @param name name of the redefined function (string)
260 @param orig_lineno line number of the original definition (integer)
261 """
262 Message.__init__(self, filename, lineno)
263 self.message_args = (name, orig_lineno)
264
265
266 class LateFutureImport(Message):
267 """
268 Class defining the "Late Future Import" message.
269 """
270 message = QT_TRANSLATE_NOOP(
271 'py3Flakes',
272 'Future import(s) {0!r} after other statements.')
273
274 def __init__(self, filename, lineno, names):
275 """
276 Constructor
277
278 @param filename name of the file (string)
279 @param lineno line number (integer)
280 @param names names of the imported futures (string)
281 """
282 Message.__init__(self, filename, lineno)
283 self.message_args = (names,)
284
285
286 class UnusedVariable(Message):
287 """
288 Class defining the "Unused Variable" message.
289
290 Indicates that a variable has been explicitly assigned to but not actually
291 used.
292 """
293 message = QT_TRANSLATE_NOOP(
294 'py3Flakes',
295 'Local variable {0!r} is assigned to but never used.')
296
297 def __init__(self, filename, lineno, names):
298 """
299 Constructor
300
301 @param filename name of the file (string)
302 @param lineno line number (integer)
303 @param names names of the unused variable (string)
304 """
305 Message.__init__(self, filename, lineno)
306 self.message_args = (names,)
307
308 #
309 # eflag: FileType = Python2

eric ide

mercurial