diff --git a/make.py b/make.py index dee366b..d3d364e 100755 --- a/make.py +++ b/make.py @@ -130,7 +130,7 @@ class Check(Target): def run(self): from _setup.dev import analysis term.green('Linting rjsmin sources...') - res = analysis.pylint('_pkg/pylint.conf', 'rjsmin') + res = analysis.pylint('pylintrc', 'rjsmin') if res == 2: make.warn('pylint not found', self.NAME) diff --git a/_pkg/pylint.conf b/pylintrc similarity index 53% rename from _pkg/pylint.conf rename to pylintrc index 52602e7..e6085e4 100644 --- a/_pkg/pylint.conf +++ b/pylintrc @@ -1,4 +1,4 @@ -# pylint-version: 0.21.0 +# pylint-version: 1.2.1 [MASTER] # Specify a configuration file. @@ -11,10 +11,11 @@ # Profiled execution. profile=no -# Add to the black list. It should be a base name, not a -# path. You may set this option multiple times. +# Add files or directories to the blacklist. They should be base names, not +# paths. ignore= - .git, .svn + .git, + .svn, # Pickle collected data for later comparisons. persistent=no @@ -28,12 +29,18 @@ load-plugins= # Enable the message, report, category or checker with the given id(s). You can # either give multiple identifier separated by comma (,) or put this option -# multiple time. +# multiple time. See also the "--disable" option for examples. #enable= # Disable the message, report, category or checker with the given id(s). You -# can either give multiple identifier separated by comma (,) or put this option -# multiple time. +# can either give multiple identifiers separated by comma (,) or put this +# option multiple times (only on the command line, not in the configuration +# file where it should appear only once).You can also use "--disable=all" to +# disable everything first and then reenable specific checks. For example, if +# you want to run only the similarities checker, you can use "--disable=all +# --enable=similarities". If you want to run only the classes checker, but have +# no Warning level messages displayed, use"--disable=all --enable=classes +# --disable=W" disable= I0011, W0142, @@ -42,13 +49,6 @@ disable= [REPORTS] -# Set the output format. Available formats are text, parseable, colorized, msvs -# (visual studio) and html -output-format=parseable - -# Include message's id in output -include-ids=yes - # Put messages in a separate file for each module / package specified on the # command line instead of printing them on stdout. Reports (if any) will be # written in a file name "pylint_global.[txt|html]". @@ -61,38 +61,31 @@ reports=no # note). You have access to the variables errors warning, statement which # respectively contain the number of errors / warnings messages and the total # number of statements analyzed. This is used by the global evaluation report -# (R0004). +# (RP0004). evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10) # Add a comment according to your evaluation note. This is used by the global -# evaluation report (R0004). +# evaluation report (RP0004). comment=no - -[FORMAT] - -# Maximum number of characters on a single line. -max-line-length=78 - -# Maximum number of lines in a module -max-module-lines=1500 - -# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1 -# tab). -indent-string=' ' +# Template used to display messages. This is a python new-style format string +# used to format the message information. See doc for all details +#msg-template= -[VARIABLES] +[SIMILARITIES] -# Tells whether we should check for unused import in __init__ files. -init-import=yes +# Minimum lines number of a similarity. +min-similarity-lines=4 -# A regular expression matching names used for dummy variables (i.e. not used). -dummy-variables-rgx=_|dummy|(?:kw)?args +# Ignore comments when computing similarities. +ignore-comments=no -# List of additional names supposed to be defined in builtins. Remember that -# you should avoid to define new builtins when possible. -additional-builtins= +# Ignore docstrings when computing similarities. +ignore-docstrings=yes + +# Ignore imports when computing similarities. +ignore-imports=yes [TYPECHECK] @@ -101,6 +94,11 @@ additional-builtins= # mixin class is detected if its name ends with "mixin" (case insensitive). ignore-mixin-members=yes +# List of module names for which member attributes should not be checked +# (useful for modules/projects where namespaces are manipulated during runtime +# and thus extisting member attributes cannot be deduced by static analysis +ignored-modules= + # List of classes names for which member attributes should not be checked # (useful for classes with attributes dynamically set). ignored-classes= @@ -110,20 +108,144 @@ ignored-classes= zope=no # List of members which are set dynamically and missed by pylint inference -# system, and so shouldn't trigger E0201 when accessed. +# system, and so shouldn't trigger E0201 when accessed. Python regular +# expressions are accepted. generated-members= -[SIMILARITIES] +[BASIC] -# Minimum lines number of a similarity. -min-similarity-lines=4 +# Required attributes for module, separated by a comma +required-attributes= + __author__, + __docformat__, -# Ignore comments when computing similarities. -ignore-comments=yes +# List of builtins function names that should not be used, separated by a comma +bad-functions=apply,input,exec -# Ignore docstrings when computing similarities. -ignore-docstrings=yes +# Good variable names which should always be accepted, separated by a comma +good-names= + _, j, e, c + +# Bad variable names which should always be refused, separated by a comma +bad-names=foo,bar,baz,toto,tutu,tata + +# Colon-delimited sets of names that determine each other's naming style when +# the name regexes allow several styles. +name-group= + +# Include a hint for the correct naming format with invalid-name +include-naming-hint=no + +# Regular expression matching correct function names +function-rgx=(?:__[a-z]+__|_?[a-z_][a-z0-9_]*)$ + +# Naming hint for function names +function-name-hint=[a-z_][a-z0-9_]{2,30}$ + +# Regular expression matching correct variable names +variable-rgx=(?:[A-Z_][A-Z0-9_]{1,30}|[a-z_][a-z0-9_]{2,30})$ + +# Naming hint for variable names +variable-name-hint=[a-z_][a-z0-9_]{2,30}$ + +# Regular expression matching correct constant names +const-rgx=(?:_?[A-Z][A-Z0-9_]{1,30}|_?[A-Z][a-zA-Z0-9]{2,30}|_?[a-z_][a-z0-9_]{2,30}|__.*__)$ + +# Naming hint for constant names +const-name-hint=(([A-Z_][A-Z0-9_]*)|(__.*__))$ + +# Regular expression matching correct attribute names +attr-rgx=(?:[A-Z][A-Z0-9_]{2,30}|[a-z_][a-z0-9_]{2,30})$ + +# Naming hint for attribute names +attr-name-hint=[a-z_][a-z0-9_]{2,30}$ + +# Regular expression matching correct argument names +argument-rgx=[a-z_][a-z0-9_]{2,30}$ + +# Naming hint for argument names +argument-name-hint=[a-z_][a-z0-9_]{2,30}$ + +# Regular expression matching correct class attribute names +class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$ + +# Naming hint for class attribute names +class-attribute-name-hint=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$ + +# Regular expression matching correct inline iteration names +inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]{,10}$ + +# Naming hint for inline iteration names +inlinevar-name-hint=[A-Za-z_][A-Za-z0-9_]*$ + +# Regular expression matching correct class names +class-rgx=_?[A-Z][a-zA-Z0-9]+$ + +# Naming hint for class names +class-name-hint=[A-Z_][a-zA-Z0-9]+$ + +# Regular expression matching correct module names +module-rgx=[a-z_][a-z0-9_]*$ + +# Naming hint for module names +module-name-hint=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$ + +# Regular expression matching correct method names +method-rgx=(?:__[a-z]+__|_?[a-z_][a-z0-9_]*)$ + +# Naming hint for method names +method-name-hint=[a-z_][a-z0-9_]{2,30}$ + +# Regular expression which should only match function or class names that do +# not require a docstring. +no-docstring-rgx=__.*__ + +# Minimum line length for functions/classes that require docstrings, shorter +# ones are exempt. +docstring-min-length=-1 + + +[FORMAT] + +# Maximum number of characters on a single line. +max-line-length=78 + +# Regexp for a line that is allowed to be longer than the limit. +ignore-long-lines=^\s*(# )??$ + +# Allow the body of an if to be on the same line as the test if there is no +# else. +single-line-if-stmt=no + +# List of optional constructs for which whitespace checking is disabled +no-space-check= + trailing-comma, + +# Maximum number of lines in a module +max-module-lines=1500 + +# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1 +# tab). +indent-string=' ' + +# Number of spaces of indent required inside a hanging or continued line. +indent-after-paren=4 + + +[VARIABLES] + +# Tells whether we should check for unused import in __init__ files. +init-import=yes + +# A regular expression matching the name of dummy variables (i.e. expectedly +# not used). +dummy-variables-rgx=(?x) + _|dummy|(?:kw)?args + +# List of additional names supposed to be defined in builtins. Remember that +# you should avoid to define new builtins when possible. +additional-builtins= [MISCELLANEOUS] @@ -132,53 +254,11 @@ ignore-docstrings=yes notes=FIXME,XXX,TODO -[BASIC] +[LOGGING] -# Required attributes for module, separated by a comma -required-attributes= - __author__, __docformat__ - -# List of builtins function names that should not be used, separated by a comma -bad-functions= - apply,input,exec,hasattr - -# Regular expression which should only match correct module names -module-rgx=[a-z_][a-z0-9_]*$ - -# Regular expression which should only match correct module level names -const-rgx=(?:_?[A-Z][A-Z0-9_]{1,30}|_?[A-Z][a-zA-Z0-9]{2,30}|_?[a-z_][a-z0-9_]{2,30}|__.*__)$ - -# Regular expression which should only match correct class names -class-rgx=_?[A-Z][a-zA-Z0-9]+$ - -# Regular expression which should only match correct function names -function-rgx=(?:__[a-z]+__|_?[a-z_][a-z0-9_]*)$ - -# Regular expression which should only match correct method names -method-rgx=(?:__[a-z]+__|_?[a-z_][a-z0-9_]*)$ - -# Regular expression which should only match correct instance attribute names -attr-rgx=(?:[A-Z][A-Z0-9_]{2,30}|[a-z_][a-z0-9_]{2,30})$ - -# Regular expression which should only match correct argument names -argument-rgx=[a-z_][a-z0-9_]{2,30}$ - -# Regular expression which should only match correct variable names -variable-rgx=(?:[A-Z_][A-Z0-9_]{1,30}|[a-z_][a-z0-9_]{2,30})$ - -# Regular expression which should only match correct list comprehension / -# generator expression variable names -inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]{,10}$ - -# Good variable names which should always be accepted, separated by a comma -good-names=_,j,e,c - -# Bad variable names which should always be refused, separated by a comma -bad-names=foo,bar,baz,toto,tutu,tata - -# Regular expression which should only match functions or classes name which do -# not require a docstring -no-docstring-rgx=__.*__ +# Logging modules to check that the string format arguments are in logging +# function parameter format +logging-modules=logging [DESIGN] @@ -197,7 +277,7 @@ max-locals=20 max-returns=6 # Maximum number of branch for function / method body -max-branchs=12 +max-branches=12 # Maximum number of statements in function / method body max-statements=50 @@ -221,14 +301,14 @@ max-public-methods=50 deprecated-modules=regsub,TERMIOS,Bastion,rexec # Create a graph of every (i.e. internal and external) dependencies in the -# given file (report R0402 must not be disabled) +# given file (report RP0402 must not be disabled) import-graph= -# Create a graph of external dependencies in the given file (report R0402 must +# Create a graph of external dependencies in the given file (report RP0402 must # not be disabled) ext-import-graph= -# Create a graph of internal dependencies in the given file (report R0402 must +# Create a graph of internal dependencies in the given file (report RP0402 must # not be disabled) int-import-graph= @@ -241,3 +321,16 @@ ignore-iface-methods= # List of method names used to declare (i.e. assign) instance attributes. defining-attr-methods=__init__,__new__ + +# List of valid names for the first argument in a class method. +valid-classmethod-first-arg=cls + +# List of valid names for the first argument in a metaclass class method. +valid-metaclass-classmethod-first-arg=mcs + + +[EXCEPTIONS] + +# Exceptions that will emit a warning when being caught. Defaults to +# "Exception" +overgeneral-exceptions=Exception