# is file was generated by edx-lint: https://github.com/edx/edx-lint
#
# If you want to change this file, you have two choices, depending on whether
# you want to make a local change that applies only to this repo, or whether
# you want to make a central change that applies to all repos using edx-lint.
#
# Note: If your pylintrc file is simply out-of-date relative to the latest
# pylintrc in edx-lint, ensure you have the latest edx-lint installed
# and then follow the steps for a "LOCAL CHANGE".
#
# LOCAL CHANGE:
#
# 1. Edit the local pylintrc_tweaks file to add changes just to this
#    repo's file.
#
# 2. Run:
#
#       $ edx_lint write pylintrc
#
# 3. This will modify the local file.  Submit a pull request to get it
#    checked in so that others will benefit.
#
#
# CENTRAL CHANGE:
#
# 1. Edit the pylintrc file in the edx-lint repo at
#    https://github.com/edx/edx-lint/blob/master/edx_lint/files/pylintrc
#
# 2. install the updated version of edx-lint (in edx-lint):
#
#       $ pip install .
#
# 3. Run (in edx-lint):
#
#       $ edx_lint write pylintrc
#
# 4. Make a new version of edx_lint, submit and review a pull request with the
#    pylintrc update, and after merging, update the edx-lint version and
#    publish the new version.
#
# 5. In your local repo, install the newer version of edx-lint.
#
# 6. Run:
#
#       $ edx_lint write pylintrc
#
# 7. This will modify the local file.  Submit a pull request to get it
#    checked in so that others will benefit.
#
#
#
#
#
# STAY AWAY FROM THIS FILE!
#
#
#
#
#
# SERIOUSLY.
#
# ------------------------------
# Generated by edx-lint version: 5.2.3
# ------------------------------
[MASTER]
ignore = ,input
persistent = yes

[MESSAGES CONTROL]
enable = 
	blacklisted-name,
#	line-too-long,
	
	abstract-class-instantiated,
	abstract-method,
	access-member-before-definition,
	anomalous-backslash-in-string,
	anomalous-unicode-escape-in-string,
	arguments-differ,
	assert-on-tuple,
	assigning-non-slot,
	assignment-from-no-return,
	assignment-from-none,
	attribute-defined-outside-init,
	bad-except-order,
	bad-format-character,
	bad-format-string-key,
	bad-format-string,
	bad-open-mode,
	bad-reversed-sequence,
	bad-staticmethod-argument,
	bad-str-strip-call,
	bad-super-call,
	binary-op-exception,
	boolean-datetime,
	catching-non-exception,
	cell-var-from-loop,
	confusing-with-statement,
	continue-in-finally,
	dangerous-default-value,
	duplicate-argument-name,
	duplicate-bases,
	duplicate-except,
	duplicate-key,
	expression-not-assigned,
	format-combined-specification,
	format-needs-mapping,
	function-redefined,
	global-variable-undefined,
	import-error,
	import-self,
	inconsistent-mro,
	inherit-non-class,
	init-is-generator,
	invalid-all-object,
	invalid-format-index,
	invalid-length-returned,
	invalid-sequence-index,
	invalid-slice-index,
	invalid-slots-object,
	invalid-slots,
	invalid-unary-operand-type,
	logging-too-few-args,
	logging-too-many-args,
	logging-unsupported-format,
	lost-exception,
	method-hidden,
	misplaced-bare-raise,
	misplaced-future,
	missing-format-argument-key,
	missing-format-attribute,
	missing-format-string-key,
	no-member,
	no-method-argument,
	no-name-in-module,
	no-self-argument,
	no-value-for-parameter,
	non-iterator-returned,
	nonexistent-operator,
	not-a-mapping,
	not-an-iterable,
	not-callable,
	not-context-manager,
	not-in-loop,
	pointless-statement,
	pointless-string-statement,
	raising-bad-type,
	raising-non-exception,
	redefined-builtin,
	redefined-outer-name,
	redundant-keyword-arg,
	repeated-keyword,
	return-arg-in-generator,
	return-in-init,
	return-outside-function,
	signature-differs,
	super-init-not-called,
	syntax-error,
	too-few-format-args,
	too-many-format-args,
	too-many-function-args,
	truncated-format-string,
	undefined-all-variable,
	undefined-loop-variable,
	undefined-variable,
	unexpected-keyword-arg,
	unexpected-special-method-signature,
	unpacking-non-sequence,
	unreachable,
	unsubscriptable-object,
	unsupported-binary-operation,
	unsupported-membership-test,
	unused-format-string-argument,
	unused-format-string-key,
	used-before-assignment,
	using-constant-test,
	yield-outside-function,
	
	astroid-error,
	fatal,
	method-check-failed,
	parse-error,
	raw-checker-failed,
	
	empty-docstring,
	invalid-characters-in-docstring,
#	missing-docstring,
#	wrong-spelling-in-comment,
#	wrong-spelling-in-docstring,
	
	unused-argument,
	unused-import,
	unused-variable,
	
	eval-used,
	exec-used,
	
	bad-classmethod-argument,
	bad-mcs-classmethod-argument,
	bad-mcs-method-argument,
	bare-except,
	broad-except,
	consider-iterating-dictionary,
	consider-using-enumerate,
	global-variable-not-assigned,
	logging-format-interpolation,
#	logging-not-lazy,
	multiple-imports,
	multiple-statements,
	no-classmethod-decorator,
	no-staticmethod-decorator,
	protected-access,
	redundant-unittest-assert,
	reimported,
	simplifiable-if-statement,
	singleton-comparison,
	superfluous-parens,
	unidiomatic-typecheck,
	unnecessary-lambda,
	unnecessary-pass,
	unnecessary-semicolon,
	unneeded-not,
	useless-else-on-loop,
	
	deprecated-method,
	deprecated-module,
	
	too-many-boolean-expressions,
	too-many-nested-blocks,
	too-many-statements,
	
#	wildcard-import,
#	wrong-import-order,
#	wrong-import-position,
	
	missing-final-newline,
	mixed-line-endings,
	trailing-newlines,
#	trailing-whitespace,
	unexpected-line-ending-format,
	
	bad-inline-option,
	bad-option-value,
	deprecated-pragma,
	unrecognized-inline-option,
	useless-suppression,
disable = 
	global-at-module-level,
	useless-return,
	# 
	bad-indentation,
	consider-using-f-string,
	duplicate-code,
	f-string-without-interpolation,
	file-ignored,
	fixme,
	global-statement,
	invalid-name,
	locally-disabled,
	no-else-return,
##	no-self-use,
	suppressed-message,
	too-few-public-methods,
	too-many-ancestors,
	too-many-arguments,
	too-many-branches,
	too-many-instance-attributes,
	too-many-lines,
	too-many-locals,
	too-many-public-methods,
	too-many-return-statements,
	ungrouped-imports,
	unspecified-encoding,
	unused-wildcard-import,
	use-maxsplit-arg,
	wrong-import-order,
	wrong-import-position,

	logging-not-lazy,
	line-too-long,
	import-outside-toplevel,
	logging-fstring-interpolation,
# new
	missing-module-docstring,
	missing-class-docstring,
	missing-function-docstring,
	use-dict-literal,
	
[REPORTS]
output-format = text
##files-output = no
reports = no
score = no

[BASIC]
##bad-functions = map,filter,apply,input
module-rgx = (([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
const-rgx = (([A-Z_][A-Z0-9_]*)|(__.*__)|log|urlpatterns)$
class-rgx = [A-Z_][a-zA-Z0-9]+$
function-rgx = ([a-z_][a-z0-9_]{2,40}|test_[a-z0-9_]+)$
method-rgx = ([a-z_][a-z0-9_]{2,40}|setUp|set[Uu]pClass|tearDown|tear[Dd]ownClass|assert[A-Z]\w*|maxDiff|test_[a-z0-9_]+)$
attr-rgx = [a-z_][a-z0-9_]{2,30}$
argument-rgx = [a-z_][a-z0-9_]{2,30}$
variable-rgx = [a-z_][a-z0-9_]{2,30}$
class-attribute-rgx = ([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
inlinevar-rgx = [A-Za-z_][A-Za-z0-9_]*$
good-names = f,i,j,k,db,ex,Run,_,__
bad-names = foo,bar,baz,toto,tutu,tata
no-docstring-rgx = __.*__$|test_.+|setUp$|setUpClass$|tearDown$|tearDownClass$|Meta$
docstring-min-length = 5

[FORMAT]
max-line-length = 120
ignore-long-lines = ^\s*(# )?((<?https?://\S+>?)|(\.\. \w+: .*))$
single-line-if-stmt = no
##no-space-check = trailing-comma,dict-separator
max-module-lines = 1000
indent-string = '    '

[MISCELLANEOUS]
notes = FIXME,XXX,TODO

[SIMILARITIES]
min-similarity-lines = 4
ignore-comments = yes
ignore-docstrings = yes
ignore-imports = no

[TYPECHECK]
ignore-mixin-members = yes
ignored-classes = SQLObject
unsafe-load-any-extension = yes
generated-members = 
	REQUEST,
	acl_users,
	aq_parent,
	objects,
	DoesNotExist,
	can_read,
	can_write,
	get_url,
	size,
	content,
	status_code,
	create,
	build,
	fields,
	tag,
	org,
	course,
	category,
	name,
	revision,
	_meta,

[VARIABLES]
init-import = no
dummy-variables-rgx = _|dummy|unused|.*_unused
additional-builtins = 

[CLASSES]
defining-attr-methods = __init__,__new__,setUp
valid-classmethod-first-arg = cls
valid-metaclass-classmethod-first-arg = mcs

[DESIGN]
max-args = 5
ignored-argument-names = _.*
max-locals = 15
max-returns = 9
max-branches = 12
max-statements = 50
max-parents = 7
max-attributes = 7
min-public-methods = 2
max-public-methods = 20

[IMPORTS]
deprecated-modules = regsub,TERMIOS,Bastion,rexec
import-graph = 
ext-import-graph = 
int-import-graph = 

[EXCEPTIONS]
overgeneral-exceptions = BaseException
