diff --git a/.pylintrc b/.pylintrc new file mode 100644 index 0000000..6a4fb85 --- /dev/null +++ b/.pylintrc @@ -0,0 +1,134 @@ +[MASTER] +extension-pkg-whitelist= +ignore=CVS +ignore-patterns= +#init-hook= +jobs=4 +load-plugins= +persistent=yes +#rcfile= +unsafe-load-any-extension=no + +[MESSAGES CONTROL] +confidence= +disable=no-member,locally-disabled,too-few-public-methods,too-many-ancestors,keyword-arg-before-vararg +enable= + +[REPORTS] +evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10) +msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg} +output-format=text +reports=no +score=no + +[REFACTORING] +max-nested-blocks=5 + +[FORMAT] +expected-line-ending-format= +ignore-long-lines=^\s*(# )??$ +indent-after-paren=4 +indent-string=' ' +max-line-length=120 +max-module-lines=300 +no-space-check= +single-line-class-stmt=no +single-line-if-stmt=no + +[VARIABLES] +additional-builtins= +allow-global-unused-variables=yes +callbacks=cb_,_cb +dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_ +ignored-argument-names=_.*|^ignored_|^unused_ +init-import=yes +redefining-builtins-modules=six.moves,future.builtins + +[MISCELLANEOUS] +notes= + +[SPELLING] +spelling-dict= +spelling-ignore-words= +spelling-private-dict-file= +spelling-store-unknown-words=no + +[BASIC] +argument-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ +argument-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ +attr-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ +attr-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ +bad-names=foo,bar,baz,toto,tutu,tata +class-attribute-name-hint=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$ +class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$ +class-name-hint=[A-Z_][a-zA-Z0-9]+$ +class-rgx=[A-Z_][a-zA-Z0-9]+$ +const-name-hint=(([A-Z_][A-Z0-9_]*)|(__.*__))$ +const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$ +docstring-min-length=20 +function-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ +function-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ +good-names=i,j,k,ex,Run,_,urlpatterns,app_name,register,application +include-naming-hint=no +inlinevar-name-hint=[A-Za-z_][A-Za-z0-9_]*$ +inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$ +method-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ +method-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ +module-name-hint=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$ +module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$ +name-group= +no-docstring-rgx=^_ +property-classes=abc.abstractproperty +variable-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ +variable-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ + +[SIMILARITIES] +ignore-comments=no +ignore-docstrings=no +ignore-imports=no +min-similarity-lines=2 + +[LOGGING] +logging-modules=logging + +[TYPECHECK] +contextmanager-decorators=contextlib.contextmanager +generated-members= +ignore-mixin-members=yes +ignore-on-opaque-inference=yes +ignored-classes=optparse.Values,thread._local,_thread._local +ignored-modules= +missing-member-hint=yes +missing-member-hint-distance=1 +missing-member-max-choices=1 + +[DESIGN] +max-args=5 +max-attributes=7 +max-bool-expr=5 +max-branches=12 +max-locals=15 +max-parents=7 +max-public-methods=30 +max-returns=6 +max-statements=50 +min-public-methods=1 + +[CLASSES] +defining-attr-methods=__init__,__new__,setUp +exclude-protected=_asdict,_fields,_replace,_source,_make +valid-classmethod-first-arg=cls +valid-metaclass-classmethod-first-arg=mcs + +[IMPORTS] +allow-wildcard-with-all=no +analyse-fallback-blocks=yes +deprecated-modules=optparse,tkinter.tix +ext-import-graph= +import-graph= +int-import-graph= +known-standard-library= +known-third-party=enchant + +[EXCEPTIONS] +overgeneral-exceptions=Exception diff --git a/prospector.yaml b/prospector.yaml new file mode 100644 index 0000000..292f95e --- /dev/null +++ b/prospector.yaml @@ -0,0 +1,19 @@ +strictness: veryhigh + +ignore-paths: + - migrations + +uses: + - django + +pep8: + full: true + options: + max-line-length: 120 + +pylint: + full: true + +mccabe: + disable: + - MC0001