Utilities/py3flakes/messages.py

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

eric ide

mercurial