From a59f3938bd93b02284f0980049b850a24e381ca4 Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Mon, 13 Jun 2022 14:19:44 +0200 Subject: [PATCH] Add linter config --- linter/.pylintrc | 224 +++++++++++++++++++++++++++++++++ linter/requirements_linter.txt | 1 + 2 files changed, 225 insertions(+) create mode 100644 linter/.pylintrc create mode 100644 linter/requirements_linter.txt diff --git a/linter/.pylintrc b/linter/.pylintrc new file mode 100644 index 0000000..36d197b --- /dev/null +++ b/linter/.pylintrc @@ -0,0 +1,224 @@ +[MAIN] +analyse-fallback-blocks=no +confidence=HIGH, + CONTROL_FLOW, + INFERENCE, + INFERENCE_FAILURE, + UNDEFINED +disable= +enable= +evaluation=max(0, 0 if fatal else 10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)) +exit-zero=no +extension-pkg-allow-list=bpy +extension-pkg-whitelist= +fail-on= +fail-under=10 +#from-stdin=no | not working ? +ignore=CVS +ignore-paths= +ignore-patterns=^\.# +ignored-modules=bpy, + mathutils, + bl_math, + bl_ui, + bl_operators +#jobs=0 | multiprocessing, get errors +limit-inference-results=100 +load-plugins= +msg-template= +output-format=colorized +persistent=yes +py-version=3.10 +recursive=yes +reports=no +score=yes +suggestion-mode=yes +unsafe-load-any-extension=no + + +[BASIC] +argument-naming-style=snake_case +argument-rgx= +attr-naming-style=snake_case +attr-rgx= +bad-names=foo, + bar, + baz, + toto, + tutu, + tata +bad-names-rgxs= +class-attribute-naming-style=any +class-attribute-rgx= +class-const-naming-style=UPPER_CASE +class-const-rgx= +class-naming-style=PascalCase +class-rgx=^MLB_[A-Z]{2}_[a-z_]+$|^[A-Za-z]+$ +const-naming-style=UPPER_CASE +const-rgx= +docstring-min-length=-1 +function-naming-style=snake_case +#function-rgx= +good-names=i, + _, + ob, + wm, + me, +good-names-rgxs= +include-naming-hint=no +inlinevar-naming-style=any +inlinevar-rgx= +method-naming-style=snake_case +method-rgx= +module-naming-style=snake_case +module-rgx= +name-group= +no-docstring-rgx=(poll)?|(execute)?|(invoke)? +property-classes=abc.abstractproperty +typevar-rgx= +variable-naming-style=snake_case +variable-rgx= + + +[CLASSES] +check-protected-access-in-special-methods=no +defining-attr-methods=__init__, + __new__, + setUp, + __post_init__ +exclude-protected=_asdict, + _fields, + _replace, + _source, + _make +valid-classmethod-first-arg=cls +valid-metaclass-classmethod-first-arg=cls + + +[DESIGN] +exclude-too-few-public-methods= +ignored-parents= +max-args=5 +max-attributes=7 +max-bool-expr=5 +max-branches=12 +#max-complexity=10 Option not working +max-locals=15 +max-parents=7 +max-public-methods=20 +max-returns=6 +max-statements=50 +min-public-methods=0 + + +[EXCEPTIONS] +overgeneral-exceptions=BaseException, + Exception + + +[FORMAT] +expected-line-ending-format= +ignore-long-lines=^\s*(# )??$ +indent-after-paren=4 +indent-string=' ' +max-line-length=119 +max-module-lines=1000 +single-line-class-stmt=no +single-line-if-stmt=no + + +[IMPORTS] +allow-any-import-level= +allow-wildcard-with-all=no +deprecated-modules= +ext-import-graph= +import-graph= +int-import-graph= +known-standard-library= +known-third-party=enchant +preferred-modules= + + +[LOGGING] +logging-format-style=old +logging-modules=logging, + + +[MISCELLANEOUS] +notes=FIXME, + TODO +notes-rgx= + + +[REFACTORING] +max-nested-blocks=5 +never-returning-functions=sys.exit,argparse.parse_error + + +[SIMILARITIES] +ignore-comments=yes +ignore-docstrings=yes +ignore-imports=yes +ignore-signatures=yes +min-similarity-lines=8 + + +[SPELLING] +max-spelling-suggestions=4 +spelling-dict= +spelling-ignore-comment-directives=fmt: on, + fmt: off, + noqa:, + noqa, + nosec, + isort:skip, + mypy: +spelling-ignore-words= +spelling-private-dict-file= +spelling-store-unknown-words=no + + +[STRING] +check-quote-consistency=no +check-str-concat-over-line-jumps=no + + +[TYPECHECK] +contextmanager-decorators=contextlib.contextmanager +generated-members= +ignore-mixin-members=yes +ignore-none=yes +ignore-on-opaque-inference=yes +ignored-checks-for-mixins=no-member, + not-async-context-manager, + not-context-manager, + attribute-defined-outside-init +ignored-classes=optparse.Values, + thread._local, + _thread._local, + argparse.Namespace +missing-member-hint=yes +missing-member-hint-distance=1 +missing-member-max-choices=1 +mixin-class-rgx=.*[Mm]ixin +signature-mutators= + + +[VARIABLES] +additional-builtins= +allow-global-unused-variables=yes +allowed-redefined-builtins= +callbacks=cb_, + _cb +dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_ +ignored-argument-names=_.*|^ignored_|^unused_|^self|^context|^event +init-import=no +redefining-builtins-modules=six.moves,past.builtins,future.builtins,builtins,io + +#enable-all-extensions= +#errors-only= +# Python code to execute, usually for sys.path manipulation such as +# pygtk.require(). +#init-hook= +# In verbose mode, extra non-checker-related info will be displayed. +#verbose= diff --git a/linter/requirements_linter.txt b/linter/requirements_linter.txt new file mode 100644 index 0000000..02ba427 --- /dev/null +++ b/linter/requirements_linter.txt @@ -0,0 +1 @@ +pylint~=2.14 \ No newline at end of file