Utilities/py3flakes/messages.py

branch
BgService
changeset 3173
1fb284abe46e
parent 3172
c0f78e9d0971
child 3174
86047f5f4155
equal deleted inserted replaced
3172:c0f78e9d0971 3173:1fb284abe46e
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 with Python3 and Qt (translatable messages)
9
10 """
11 Module implementing the messages for py3flakes.
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 '{0}:{1} {2}'.format(
50 self.filename, self.lineno,
51 self.message.format(*self.message_args))
52
53 def getMessageData(self):
54 """
55 Public method to get the individual message data elements.
56
57 @return tuple containing file name, line number and message
58 (string, integer, string)
59 """
60 return (self.filename, self.lineno,
61 self.message, self.message_args)
62
63
64 class UnusedImport(Message):
65 """
66 Class defining the "Unused Import" message.
67 """
68 message = QT_TRANSLATE_NOOP(
69 'py3Flakes',
70 '{0!r} imported but unused.')
71
72 def __init__(self, filename, lineno, name):
73 """
74 Constructor
75
76 @param filename name of the file (string)
77 @param lineno line number (integer)
78 @param name name of the unused import (string)
79 """
80 Message.__init__(self, filename, lineno)
81 self.message_args = (name,)
82
83
84 class RedefinedWhileUnused(Message):
85 """
86 Class defining the "Redefined While Unused" message.
87 """
88 message = QT_TRANSLATE_NOOP(
89 'py3Flakes',
90 'Redefinition of unused {0!r} from line {1!r}.')
91
92 def __init__(self, filename, lineno, name, orig_lineno):
93 """
94 Constructor
95
96 @param filename name of the file (string)
97 @param lineno line number (integer)
98 @param name name of the redefined object (string)
99 @param orig_lineno line number of the original definition (integer)
100 """
101 Message.__init__(self, filename, lineno)
102 self.message_args = (name, orig_lineno)
103
104
105 class ImportShadowedByLoopVar(Message):
106 """
107 Class defining the "Import Shadowed By Loop Var" message.
108 """
109 message = QT_TRANSLATE_NOOP(
110 'py3Flakes',
111 'Import {0!r} from line {1!r} shadowed by loop variable.')
112
113 def __init__(self, filename, lineno, name, orig_lineno):
114 """
115 Constructor
116
117 @param filename name of the file (string)
118 @param lineno line number (integer)
119 @param name name of the shadowed import (string)
120 @param orig_lineno line number of the import (integer)
121 """
122 Message.__init__(self, filename, lineno)
123 self.message_args = (name, orig_lineno)
124
125
126 class ImportStarUsed(Message):
127 """
128 Class defining the "Import Star Used" message.
129 """
130 message = QT_TRANSLATE_NOOP(
131 'py3Flakes',
132 "'from {0} import *' used; unable to detect undefined names.")
133
134 def __init__(self, filename, lineno, modname):
135 """
136 Constructor
137
138 @param filename name of the file (string)
139 @param lineno line number (integer)
140 @param modname name of the module imported using star import (string)
141 """
142 Message.__init__(self, filename, lineno)
143 self.message_args = (modname,)
144
145
146 class UndefinedName(Message):
147 """
148 Class defining the "Undefined Name" message.
149 """
150 message = QT_TRANSLATE_NOOP('py3Flakes', 'Undefined name {0!r}.')
151
152 def __init__(self, filename, lineno, name):
153 """
154 Constructor
155
156 @param filename name of the file (string)
157 @param lineno line number (integer)
158 @param name undefined name (string)
159 """
160 Message.__init__(self, filename, lineno)
161 self.message_args = (name,)
162
163
164 class UndefinedExport(Message):
165 """
166 Class defining the "Undefined Export" message.
167 """
168 message = QT_TRANSLATE_NOOP(
169 'py3Flakes',
170 'Undefined name {0!r} in __all__.')
171
172 def __init__(self, filename, lineno, name):
173 """
174 Constructor
175
176 @param filename name of the file (string)
177 @param lineno line number (integer)
178 @param name undefined exported name (string)
179 """
180 Message.__init__(self, filename, lineno)
181 self.message_args = (name,)
182
183
184 class UndefinedLocal(Message):
185 """
186 Class defining the "Undefined Local Variable" message.
187 """
188 message = QT_TRANSLATE_NOOP(
189 'py3Flakes',
190 "Local variable {0!r} (defined in enclosing scope on line {1!r})"
191 " referenced before assignment.")
192
193 def __init__(self, filename, lineno, name, orig_lineno):
194 """
195 Constructor
196
197 @param filename name of the file (string)
198 @param lineno line number (integer)
199 @param name name of the prematurely referenced variable (string)
200 @param orig_lineno line number of the variable definition (integer)
201 """
202 Message.__init__(self, filename, lineno)
203 self.message_args = (name, orig_lineno)
204
205
206 class DuplicateArgument(Message):
207 """
208 Class defining the "Duplicate Argument" message.
209 """
210 message = QT_TRANSLATE_NOOP(
211 'py3Flakes',
212 'Duplicate argument {0!r} in function definition.')
213
214 def __init__(self, filename, lineno, name):
215 """
216 Constructor
217
218 @param filename name of the file (string)
219 @param lineno line number (integer)
220 @param name name of the duplicate argument (string)
221 """
222 Message.__init__(self, filename, lineno)
223 self.message_args = (name,)
224
225
226 class RedefinedFunction(Message):
227 """
228 Class defining the "Redefined Function" message.
229 """
230 message = QT_TRANSLATE_NOOP(
231 'py3Flakes',
232 'Redefinition of function {0!r} from line {1!r}.')
233
234 def __init__(self, filename, lineno, name, orig_lineno):
235 """
236 Constructor
237
238 @param filename name of the file (string)
239 @param lineno line number (integer)
240 @param name name of the redefined function (string)
241 @param orig_lineno line number of the original definition (integer)
242 """
243 Message.__init__(self, filename, lineno)
244 self.message_args = (name, orig_lineno)
245
246
247 class LateFutureImport(Message):
248 """
249 Class defining the "Late Future Import" message.
250 """
251 message = QT_TRANSLATE_NOOP(
252 'py3Flakes',
253 'Future import(s) {0!r} after other statements.')
254
255 def __init__(self, filename, lineno, names):
256 """
257 Constructor
258
259 @param filename name of the file (string)
260 @param lineno line number (integer)
261 @param names names of the imported futures (string)
262 """
263 Message.__init__(self, filename, lineno)
264 self.message_args = (names,)
265
266
267 class UnusedVariable(Message):
268 """
269 Class defining the "Unused Variable" message.
270
271 Indicates that a variable has been explicitly assigned to but not actually
272 used.
273 """
274 message = QT_TRANSLATE_NOOP(
275 'py3Flakes',
276 'Local variable {0!r} is assigned to but never used.')
277
278 def __init__(self, filename, lineno, name):
279 """
280 Constructor
281
282 @param filename name of the file (string)
283 @param lineno line number (integer)
284 @param name name of the unused variable (string)
285 """
286 Message.__init__(self, filename, lineno)
287 self.message_args = (name,)

eric ide

mercurial