mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-04-16 18:59:39 +08:00
117 lines
3.8 KiB
INI
117 lines
3.8 KiB
INI
# Copyright (c) 2019 Ultimaker B.V.
|
|
# This file contains the Pylint rules used in the stardust projects.
|
|
|
|
# To configure PyLint as an external tool in PyCharm, create a new External Tool with the settings:
|
|
#
|
|
# Name: PyLint
|
|
# Program: Check with 'which pylint'. For example: ~/.local/bin/pylint
|
|
# Arguments: $FileDirName$ --rcfile=.pylintrc --msg-template='{abspath}:{line}:{column}:({symbol}):{msg_id}:{msg}'
|
|
# Working directory: $ContentRoot$
|
|
# Output filters: $FILE_PATH$:$LINE$:$COLUMN$:.*
|
|
#
|
|
# You can add a keyboard shortcut in the keymap settings. To run Pylint to a project, select the module
|
|
# you want to check (e.g. cura folder) before running the external tool.
|
|
#
|
|
# If you find a better way to configure the external tool please edit this file.
|
|
|
|
[MASTER]
|
|
# List of plugins (as comma separated values of python modules names) to load,
|
|
# usually to register additional checkers.
|
|
load-plugins=pylint_quotes
|
|
|
|
# We expect double string quotes
|
|
string-quote=double-avoid-escape
|
|
|
|
# When enabled, pylint would attempt to guess common misconfiguration and emit
|
|
# user-friendly hints instead of false-positive error messages.
|
|
suggestion-mode=yes
|
|
|
|
# Add files or directories to the blacklist. They should be base names, not paths.
|
|
ignore=tests
|
|
|
|
[REFACTORING]
|
|
# Maximum number of nested blocks for function / method body
|
|
max-nested-blocks=5
|
|
|
|
[MESSAGES CONTROL]
|
|
# C0326: No space allowed around keyword argument assignment
|
|
# C0411: Ignore import order because the rules are different than in PyCharm, so automatic imports break lots of builds
|
|
# C0412: Ignore import order because the rules are different than in PyCharm, so automatic imports break lots of builds
|
|
# C0413: Ignore import order because the rules are different than in PyCharm, so automatic imports break lots of builds
|
|
# R0201: Method could be a function (no-self-use)
|
|
# R0401: Cyclic imports (cyclic-import) are used for typing
|
|
# R0801: Unfortunately the error is triggered for a lot of similar models (duplicate-code)
|
|
# R1710: Either all return statements in a function should return an expression, or none of them should.
|
|
# W0221: Parameters differ from overridden method (tornado http methods have a flexible number of parameters)
|
|
# W0511: Ignore warnings generated for TODOs in the code
|
|
# C0111: We don't use docstring
|
|
# C0303: Trailing whitespace isn't something we care about
|
|
# C4001: You can put " in a string if you escape it first...
|
|
disable=C0326,C0411,C0412,C0413,R0201,R0401,R0801,R1710,W0221,W0511, C0111, C0303,C4001
|
|
|
|
[FORMAT]
|
|
# Maximum number of characters on a single line.
|
|
max-line-length=120
|
|
|
|
# Maximum number of lines in a module.
|
|
max-module-lines=500
|
|
|
|
good-names=os
|
|
|
|
[BASIC]
|
|
# allow modules and functions to use PascalCase
|
|
module-rgx=[a-zA-Z0-9_]+$
|
|
function-rgx=
|
|
## Allowed methods:
|
|
# getSomething
|
|
# _getSomething
|
|
# __getSomething
|
|
# __new__
|
|
## Disallowed:
|
|
# _GET
|
|
# GetSomething
|
|
method-rgx=(_{,2}[a-z][A-Za-z0-9]*_{,2})$
|
|
|
|
[DESIGN]
|
|
# Maximum number of arguments for function / method.
|
|
max-args=7
|
|
|
|
# Maximum number of attributes for a class (see R0902).
|
|
max-attributes=8
|
|
|
|
# Maximum number of boolean expressions in an if statement.
|
|
max-bool-expr=5
|
|
|
|
# Maximum number of branch for function / method body.
|
|
max-branches=12
|
|
|
|
# Maximum number of locals for function / method body.
|
|
max-locals=15
|
|
|
|
# Maximum number of parents for a class (see R0901).
|
|
max-parents=7
|
|
|
|
# Maximum number of public methods for a class (see R0904).
|
|
max-public-methods=20
|
|
|
|
# Maximum number of return / yield for function / method body.
|
|
max-returns=6
|
|
|
|
# Maximum number of statements in function / method body.
|
|
max-statements=50
|
|
|
|
# Minimum number of public methods for a class (R0903).
|
|
# We set this to 0 because our models and fields do not have methods.
|
|
min-public-methods=0
|
|
|
|
ignored-argument-names=arg|args|kwargs|_
|
|
|
|
[CLASSES]
|
|
defining-attr-methods=__init__,__new__,setUp,initialize
|
|
|
|
[TYPECHECK]
|
|
ignored-classes=NotImplemented
|
|
|
|
[VARIABLES]
|
|
dummy-variables-rgx=_+[a-z0-9_]{2,30}
|