Utilities/py2flakes/messages.py

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

eric ide

mercurial