1# Copyright (c) 2012 Google Inc. All rights reserved.
2#
3# Redistribution and use in source and binary forms, with or without
4# modification, are permitted provided that the following conditions are
5# met:
6#
7#     * Redistributions of source code must retain the above copyright
8# notice, this list of conditions and the following disclaimer.
9#     * Redistributions in binary form must reproduce the above
10# copyright notice, this list of conditions and the following disclaimer
11# in the documentation and/or other materials provided with the
12# distribution.
13#     * Neither the name of Google Inc. nor the names of its
14# contributors may be used to endorse or promote products derived from
15# this software without specific prior written permission.
16#
17# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29# FIXME: remove this whitespace diff.
30#
31[MASTER]
32
33# Specify a configuration file.
34#rcfile=
35
36# Python code to execute, usually for sys.path manipulation such as
37# pygtk.require().
38#init-hook=
39
40# Profiled execution.
41profile=no
42
43# Add files or directories to the blacklist. They should be base names, not
44# paths.
45ignore=CVS
46
47# Pickle collected data for later comparisons.
48persistent=yes
49
50# List of plugins (as comma separated values of python modules names) to load,
51# usually to register additional checkers.
52load-plugins=
53
54
55[MESSAGES CONTROL]
56
57# Enable the message, report, category or checker with the given id(s). You can
58# either give multiple identifier separated by comma (,) or put this option
59# multiple time.
60#enable=
61
62# Disable the message, report, category or checker with the given id(s). You
63# can either give multiple identifier separated by comma (,) or put this option
64# multiple time (only on the command line, not in the configuration file where
65# it should appear only once).
66# CHANGED:
67# C0103: Invalid name ""
68# C0111: Missing docstring
69# C0301: Line too long
70# C0302: Too many lines in module (N)
71# I0010: Unable to consider inline option ''
72# I0011: Locally disabling WNNNN
73#
74# R0201: Method could be a function
75# R0801: Similar lines in N files
76# R0901: Too many ancestors (8/7)
77# R0902: Too many instance attributes (N/7)
78# R0903: Too few public methods (N/2)
79# R0904: Too many public methods (N/20)
80# R0911: Too many return statements (N/6)
81# R0912: Too many branches (N/12)
82# R0913: Too many arguments (N/5)
83# R0914: Too many local variables (N/15)
84# R0915: Too many statements (N/50)
85# R0921: Abstract class not referenced
86# R0922: Abstract class is only referenced 1 times
87# W0122: Use of the exec statement
88# W0141: Used builtin function ''
89# W0212: Access to a protected member X of a client class
90# W0142: Used * or ** magic
91# W0401: Wildcard import X
92# W0402: Uses of a deprecated module 'string'
93# W0404: 41: Reimport 'XX' (imported line NN)
94# W0511: TODO
95# W0603: Using the global statement
96# W0614: Unused import X from wildcard import
97# W0703: Catch "Exception"
98# W1201: Specify string format arguments as logging function parameters
99disable=C0103,C0111,C0301,C0302,I0010,I0011,R0201,R0801,R0901,R0902,R0903,R0904,R0911,R0912,R0913,R0914,R0915,R0921,R0922,W0122,W0141,W0142,W0212,W0401,W0402,W0404,W0511,W0603,W0614,W0703,W1201
100
101
102[REPORTS]
103
104# Set the output format. Available formats are text, parseable, colorized, msvs
105# (visual studio) and html
106output-format=text
107
108# Include message's id in output
109include-ids=yes
110
111# Put messages in a separate file for each module / package specified on the
112# command line instead of printing them on stdout. Reports (if any) will be
113# written in a file name "pylint_global.[txt|html]".
114files-output=no
115
116# Tells whether to display a full report or only the messages
117# CHANGED:
118reports=no
119
120# Python expression which should return a note less than 10 (10 is the highest
121# note). You have access to the variables errors warning, statement which
122# respectively contain the number of errors / warnings messages and the total
123# number of statements analyzed. This is used by the global evaluation report
124# (RP0004).
125evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
126
127# Add a comment according to your evaluation note. This is used by the global
128# evaluation report (RP0004).
129comment=no
130
131
132[VARIABLES]
133
134# Tells whether we should check for unused import in __init__ files.
135init-import=no
136
137# A regular expression matching the beginning of the name of dummy variables
138# (i.e. not used).
139dummy-variables-rgx=_|dummy
140
141# List of additional names supposed to be defined in builtins. Remember that
142# you should avoid to define new builtins when possible.
143additional-builtins=
144
145
146[TYPECHECK]
147
148# Tells whether missing members accessed in mixin class should be ignored. A
149# mixin class is detected if its name ends with "mixin" (case insensitive).
150ignore-mixin-members=yes
151
152# List of classes names for which member attributes should not be checked
153# (useful for classes with attributes dynamically set).
154ignored-classes=SQLObject,twisted.internet.reactor,hashlib,google.appengine.api.memcache
155
156# When zope mode is activated, add a predefined set of Zope acquired attributes
157# to generated-members.
158zope=no
159
160# List of members which are set dynamically and missed by pylint inference
161# system, and so shouldn't trigger E0201 when accessed. Python regular
162# expressions are accepted.
163generated-members=REQUEST,acl_users,aq_parent
164
165
166[MISCELLANEOUS]
167
168# List of note tags to take in consideration, separated by a comma.
169notes=FIXME,XXX,TODO
170
171
172[SIMILARITIES]
173
174# Minimum lines number of a similarity.
175min-similarity-lines=4
176
177# Ignore comments when computing similarities.
178ignore-comments=yes
179
180# Ignore docstrings when computing similarities.
181ignore-docstrings=yes
182
183
184[FORMAT]
185
186# Maximum number of characters on a single line.
187max-line-length=200
188
189# Maximum number of lines in a module
190max-module-lines=1000
191
192# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
193# tab).
194# CHANGED:
195indent-string='    '
196
197
198[BASIC]
199
200# Required attributes for module, separated by a comma
201required-attributes=
202
203# List of builtins function names that should not be used, separated by a comma
204bad-functions=map,filter,apply,input
205
206# Regular expression which should only match correct module names
207module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
208
209# Regular expression which should only match correct module level names
210const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$
211
212# Regular expression which should only match correct class names
213class-rgx=[A-Z_][a-zA-Z0-9]+$
214
215# Regular expression which should only match correct function names
216function-rgx=[a-z_][a-z0-9_]{2,30}$
217
218# Regular expression which should only match correct method names
219method-rgx=[a-z_][a-z0-9_]{2,30}$
220
221# Regular expression which should only match correct instance attribute names
222attr-rgx=[a-z_][a-z0-9_]{2,30}$
223
224# Regular expression which should only match correct argument names
225argument-rgx=[a-z_][a-z0-9_]{2,30}$
226
227# Regular expression which should only match correct variable names
228variable-rgx=[a-z_][a-z0-9_]{2,30}$
229
230# Regular expression which should only match correct list comprehension /
231# generator expression variable names
232inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
233
234# Good variable names which should always be accepted, separated by a comma
235good-names=i,j,k,ex,Run,_
236
237# Bad variable names which should always be refused, separated by a comma
238bad-names=foo,bar,baz,toto,tutu,tata
239
240# Regular expression which should only match functions or classes name which do
241# not require a docstring
242no-docstring-rgx=__.*__
243
244
245[DESIGN]
246
247# Maximum number of arguments for function / method
248max-args=5
249
250# Argument names that match this expression will be ignored. Default to name
251# with leading underscore
252ignored-argument-names=_.*
253
254# Maximum number of locals for function / method body
255max-locals=15
256
257# Maximum number of return / yield for function / method body
258max-returns=6
259
260# Maximum number of branch for function / method body
261max-branchs=12
262
263# Maximum number of statements in function / method body
264max-statements=50
265
266# Maximum number of parents for a class (see R0901).
267max-parents=7
268
269# Maximum number of attributes for a class (see R0902).
270max-attributes=7
271
272# Minimum number of public methods for a class (see R0903).
273min-public-methods=2
274
275# Maximum number of public methods for a class (see R0904).
276max-public-methods=20
277
278
279[CLASSES]
280
281# List of interface methods to ignore, separated by a comma. This is used for
282# instance to not check methods defines in Zope's Interface base class.
283ignore-iface-methods=isImplementedBy,deferred,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,adaptWith,is_implemented_by
284
285# List of method names used to declare (i.e. assign) instance attributes.
286defining-attr-methods=__init__,__new__,setUp
287
288# List of valid names for the first argument in a class method.
289valid-classmethod-first-arg=cls
290
291
292[IMPORTS]
293
294# Deprecated modules which should not be used, separated by a comma
295deprecated-modules=regsub,string,TERMIOS,Bastion,rexec
296
297# Create a graph of every (i.e. internal and external) dependencies in the
298# given file (report RP0402 must not be disabled)
299import-graph=
300
301# Create a graph of external dependencies in the given file (report RP0402 must
302# not be disabled)
303ext-import-graph=
304
305# Create a graph of internal dependencies in the given file (report RP0402 must
306# not be disabled)
307int-import-graph=
308
309
310[EXCEPTIONS]
311
312# Exceptions that will emit a warning when being caught. Defaults to
313# "Exception"
314overgeneral-exceptions=Exception
315