[MASTER]

load-plugins=pylint.extensions.docparams,verboselogs.pylint

# Ignore generated code we don't control
ignore=_version.py

# Pylint raises false no-member error about "from pyVmomi import vim"
# Pylint doesn't handle distutils submodules when running in a virtualenv.
ignored-modules=distutils,pyVmomi

[REPORTS]

reports=no

[MESSAGE CONTROL]

#
# Disabled due to redundancy with flake8:
#   bad-continuation
#   trailing-whitespace
#
# Disabled due to useless noise:
#   locally-disabled
#   too-few-public-methods
#
# Disabled temporarily
#   missing-returns-doc (https://github.com/PyCQA/pylint/pull/1008)
#   missing-raises-doc (https://github.com/PyCQA/pylint/pull/1011)
#
disable=bad-continuation,
  duplicate-code,
  fixme,
  invalid-name,
  locally-disabled,
  too-few-public-methods,
  trailing-whitespace,
  missing-returns-doc,
  missing-raises-doc

[BASIC]

# When enabling invalid-name, stop complaints about 'invalid constant logger'
# good-names=i,j,k,logger,_

# When enabling invalid-name, stop complaints about test method names too long
# method-rgx=(test_[a-z0-9_]*|[a-z_][a-z0-9_]{2,30})$

[DESIGN]

# Current thresholds - to be driven down over time

# default: max-args=5
# current worst offender: add_disk_worker
max-args=10
# default: max-attributes=7
# current worst offender: OVF
max-attributes=29
# default: max-bool-expr=5
# default: max-branches=12
# default: max-locals=15
# current worst offender: OVF.profile_info_list
max-locals=29
# default: max-public-methods=20
# current worst offender: OVF
max-public-methods=73
# default: max-returns=6
# default: max-statements=50

[DOCS]

accept-no-param-doc=no
accept-no-return-type-doc=yes

[FORMAT]

# default: max-module-lines: 1000
# current worst offender: COT/ovf/ovf.py
max-module-lines=3000

[LOGGING]

logging-modules=logging,verboselogs

[VARIABLES]

# Any _foo variable is a valid dummy name
dummy-variables-rgx=^_.*$
