1
# lint Python modules using external checkers.
3
# This is the main checker controling the other ones and the reports
4
# generation. It is itself both a raw checker and an astng checker in order
6
# * handle message activation / deactivation at the module level
7
# * handle some basic but necessary stats data (number of classes, methods...)
10
# Set the cache size for astng objects.
13
# ignore these specific files
14
# pylint has no idea what to do with this, but our wrapper does some magic
15
ignore=contrib/mocker.py,ubuntuone/syncdaemon/u1fsfsm.py,ubuntuone/platform/linux/__init__.py,ubuntuone/platform/__init__.py,ubuntuone/platform/windows/__init__.py,ubuntuone/platform/filesystem_notifications/pyinotify_agnostic.py
18
# Disable some checkers
19
disable-checker=typecheck,design,similarities
21
# Disable all messages in the listed categories.
24
# Disable the message(s) with the given id(s).
25
# :E0101: *Explicit return in __init__*
26
# :E0202: An attribute inherited from %s hide this method
27
# :W0142: *Used * or ** magic*
28
# :W0201: Attribute '%s' defined outside __init__
29
# :W0221: *Arguments number differs from %s method* (pylint is confused by * and **)
30
# :W0613: *Unused argument %r* (We get lots of these from interfaces)
31
# :W0621: *Redefining name %r from outer scope (line %s)* (pylint does a poor evaluation)
32
# :W0622: *Redefining built-in '%r'
33
disable-msg=E0101,E0202,W0142,W0201,W0221,W0613,W0621,W0622,C0322
37
# Tells wether to display a full report or only the messages
43
# * modules / classes / functions / methods / arguments / variables name
44
# * number of arguments, local variables, branchs, returns and statements in
46
# * required module attributes
47
# * dangerous default values as arguments
48
# * redefinition of function / method / class
49
# * uses of the global statement
54
# Required attributes for module, separated by a comma
57
# Regular expression which should only match functions or classes name which do
58
# not require a docstring
59
no-docstring-rgx=(__.*__|setUp|tearDown)
61
# Regular expression which should only match correct module names
62
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
64
# Regular expression which should only match correct module level names
65
const-rgx=([a-z_][a-z0-9_]*|[A-Z_][A-Z0-9_]*)$
67
# Regular expression which should only match correct class names
68
class-rgx=[A-Z_][a-zA-Z0-9]+$
70
# Regular expression which should only match correct function names
71
function-rgx=[a-z_][a-zA-Z0-9_]*$
73
# Regular expression which should only match correct method names
74
method-rgx=[a-z_][a-zA-Z0-9_]*$
76
# Regular expression which should only match correct instance attribute names
77
attr-rgx=[a-z_][a-zA-Z0-9_]*$
79
# Regular expression which should only match correct argument names
80
argument-rgx=[a-z_][a-zA-Z0-9_]{1,30}$
82
# Regular expression which should only match correct variable names
83
# They are normally all lowercase, but when a constant, they are all uppercase.
84
variable-rgx=([a-z_][a-z0-9_]*|[A-Z_][A-Z0-9_]*)$
86
# Regular expression which should only match correct list comprehension /
87
# generator expression variable names
88
inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
90
# Good variable names which should always be accepted, separated by a comma
91
# Update this to supress warnings about inherrited names (C0103)
92
good-names=_,a,b,c,i,j,k,v,d,f,s,t,l,ex,_,orderBy,getByName,clauseTables
94
# Bad variable names which should always be refused, separated by a comma
95
bad-names=foo,bar,baz,toto,tutu,tata
97
# List of builtins function names that should not be used, separated by a comma
98
bad-functions=apply,input,reduce
102
# * warning notes in the code like FIXME, XXX
103
# * PEP 263: source code with non ascii character but no encoding declaration
106
# List of note tags to take in consideration, separated by a comma.
107
notes=FIXME,XXX,TODO,fixme,todo
111
# * unauthorized constructions
112
# * strict indentation
114
# * use of <> instead of !=
119
# Maximum number of characters on a single line.
122
# Maximum number of lines in a module
123
max-module-lines=2000
125
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1