freeipa/pylintrc
Armando Neto 3ccd512dab Disable Pylint 2.0 violations
Globally disabling the following violations:

- `assignment-from-no-return` (E1111):
  Assigning to function call which doesn't return. Used when an
  assignment is done on a function call but the inferred function
  doesn't return anything.

- `keyword-arg-before-vararg` (W1113):
  Keyword argument before variable positional arguments list in the
  definition of %s function When defining a keyword argument before
  variable positional arguments, one can end up in having multiple
  values passed for the aforementioned parameter in case the method is
  called with keyword arguments.

Locally disabling the following:

- `subprocess-popen-preexec-fn` (W1509):
  Using preexec_fn keyword which may be unsafe in the presence of
  threads The preexec_fn parameter is not safe to use in the presence
  of threads in your application. The child process could deadlock
  before exec is called. If you must use it, keep it trivial! Minimize
  the number of libraries you call into.
  https://docs.python.org/3/library/subprocess.html#popen-constructor

Fixed violations:

- `bad-mcs-classmethod-argument` (C0204):
  Metaclass class method %s should have %s as first argument Used when
  a metaclass class method has a first argument named differently than
  the value specified in valid-metaclass-classmethod-first-arg option
  (default to "mcs"), recommended to easily differentiate them from
  regular instance methods.
  - Note: Actually `cls` is the default first arg for `__new__`.

- `consider-using-get` (R1715):
  Consider using dict.get for getting values from a dict if a key is
  present or a default if not Using the builtin dict.get for getting a
  value from a dictionary if a key is present or a default if not, is
  simpler and considered more idiomatic, although sometimes a bit slower

Issue: https://pagure.io/freeipa/issue/7614

Signed-off-by: Armando Neto <abiagion@redhat.com>
Reviewed-By: Christian Heimes <cheimes@redhat.com>
2018-07-16 17:03:35 +02:00

133 lines
3.6 KiB
INI

[MASTER]
# Pickle collected data for later comparisons.
persistent=no
# List of plugins (as comma separated values of python modules names) to load,
# usually to register additional checkers.
# FIXME: has to be specified on the command line otherwise pylint fails with
# DuplicateSectionError for the IPA section
#load-plugins=pylint_plugins
# Use multiple processes to speed up Pylint.
jobs=0
# A list of packages with safe C extensions to load
extension-pkg-whitelist=
_ldap,
cryptography,
gssapi,
netifaces
[CLASSES]
# List of valid names for the first argument in a metaclass class method.
# This can be removed after upgrading to pylint 2.0
valid-metaclass-classmethod-first-arg=cls
[MESSAGES CONTROL]
enable=
all,
python3
disable=
I,
duplicate-code,
interface-not-implemented,
no-self-use,
redefined-variable-type,
too-few-public-methods,
too-many-ancestors,
too-many-arguments,
too-many-boolean-expressions,
too-many-branches,
too-many-instance-attributes,
too-many-locals,
too-many-nested-blocks,
too-many-public-methods,
too-many-return-statements,
too-many-statements,
abstract-method,
anomalous-backslash-in-string,
arguments-differ,
attribute-defined-outside-init,
bad-builtin,
bad-indentation,
broad-except,
dangerous-default-value,
eval-used,
exec-used,
fixme,
global-statement,
no-init,
pointless-string-statement,
protected-access,
redefined-builtin,
redefined-outer-name,
super-init-not-called,
undefined-loop-variable,
unnecessary-lambda,
unused-argument,
useless-else-on-loop,
bad-continuation,
bad-whitespace,
blacklisted-name,
invalid-name,
line-too-long,
missing-docstring,
multiple-statements,
superfluous-parens,
too-many-lines,
unidiomatic-typecheck,
no-absolute-import,
wrong-import-order,
ungrouped-imports,
wrong-import-position,
unsubscriptable-object,
unsupported-membership-test,
not-an-iterable,
singleton-comparison,
misplaced-comparison-constant,
not-a-mapping,
singleton-comparison,
len-as-condition, # new in pylint 1.7
no-else-return, # new in pylint 1.7
literal-comparison, # new in pylint 1.7
single-string-used-for-slots, # new in pylint 1.7
useless-super-delegation, # new in pylint 1.7
redefined-argument-from-local, # new in pylint 1.7
consider-merging-isinstance, # new in pylint 1.7
bad-option-value, # required to support upgrade to pylint 2.0
assignment-from-no-return, # new in pylint 2.0
keyword-arg-before-vararg, # pylint 2.0, remove after dropping Python 2
useless-object-inheritance, # pylint 2.0, remove after dropping Python 2
[REPORTS]
# Set the output format. Available formats are text, parseable, colorized, msvs
# (visual studio) and html. You can also give a reporter class, eg
# mypackage.mymodule.MyReporterClass.
output-format=colorized
# Tells whether to display a full report or only the messages
reports=no
# Template used to display messages. This is a python new-style format string
# used to format the message information. See doc for all details
msg-template='{path}:{line}: [{msg_id}({symbol}), {obj}] {msg})'
[VARIABLES]
dummy-variables-rgx=(_.+|unused)
[IPA]
forbidden-imports=
client/:ipaserver,
ipaclient/:ipaclient.install:ipalib.install:ipaserver,
ipaclient/install/:ipaserver,
ipalib/:ipaclient.install:ipalib.install:ipaserver,
ipalib/install/:ipaserver,
ipaplatform/:ipaclient:ipalib:ipaserver,
ipapython/:ipaclient:ipalib:ipaserver