#
# pylint configuration for Workload Automation.
#
# To install pylint run
#
#      sudo apt-get install pylint
#
# copy this file to ~/.pylintrc in order for pylint to pick it up.
# (Or alternatively, specify it with --rcfile option on invocation.)
#
# Note: If you're adding something to disable setting, please also add the
#       explanation of the code in the comment above it. Messages should only
#       be added here we really don't *ever* care about them. For ignoring
#       messages on specific lines or in specific files, add the appropriate
#       pylint disable clause in the source.
#
[MASTER]

#profile=no

ignore=external

[MESSAGES CONTROL]
# Disable the following messags:
# C0301: Line too long (%s/%s)
# C0103: Invalid name "%s" (should match %s)
# C0111: Missing docstring
# W0142 - Used * or ** magic
# R0903: Too few public methods
# R0904: Too many public methods
# R0922: Abstract class is only referenced 1 times
# W0511: TODO Note: this is disabled for a cleaner output, but should be reenabled
#                   occasionally (through command line argument) to make sure all
#                   TODO's are addressed, e.g. before a release.
# W0141: Used builtin function (map|filter)
# I0011: Locally disabling %s
# R0921: %s: Abstract class not referenced
#        Note: this needs to be in the rc file due to a known bug in pylint:
#              http://www.logilab.org/ticket/111138
# W1401: nomalous-backslash-in-string, due to:
#        https://bitbucket.org/logilab/pylint/issue/272/anomalous-backslash-in-string-for-raw
# C0330: bad continuation, due to:
#        https://bitbucket.org/logilab/pylint/issue/232/wrong-hanging-indentation-false-positive
# TODO:  disabling no-value-for-parameter and logging-format-interpolation, as they appear to be broken
#        in version 1.4.1 and return a lot of false postives; should be re-enabled once fixed.
disable=C0301,C0103,C0111,W0142,R0903,R0904,R0922,W0511,W0141,I0011,R0921,W1401,C0330,no-value-for-parameter,logging-format-interpolation,no-else-return

[FORMAT]
max-module-lines=4000

[DESIGN]

# We have DeviceConfig classes that are basically just repositories of confuration
# settings.
max-args=30
max-attributes=30


[SIMILARITIES]

min-similarity-lines=10

[REPORTS]

output-format=colorized

reports=no

[IMPORTS]

# Parts of string are not deprecated. Throws too many false positives.
deprecated-modules=
