
# HG changeset patch # User Zachary T Welch zach@mandolincreekfarm.com # Fake Node ID 6446410c938e4fc3816841e508e8f06bc414f5d0
Update pylintrc file (#159)
This patch updates our pylintrc file, regenerating it with pylint 1.4.1. It also disables a few tests, adding documentation with a brief explanation for each test.
diff --git a/tools/cpep8.pylintrc b/tools/cpep8.pylintrc index 8a8f0a3..bb41c6d 100644 --- a/tools/cpep8.pylintrc +++ b/tools/cpep8.pylintrc @@ -1,11 +1,3 @@ -# lint Python modules using external checkers. -# -# This is the main checker controling the other ones and the reports -# generation. It is itself both a raw checker and an astng checker in order -# to: -# * handle message activation / deactivation at the module level -# * handle some basic but necessary stats'data (number of classes, methods...) -# [MASTER]
# Specify a configuration file. @@ -18,183 +10,315 @@ # Profiled execution. profile=no
-# Add <file or directory> to the black list. It should be a base name, not a -# path. You may set this option multiple times. -ignore=dist -ignore=icons -ignore=.hg +# Add files or directories to the blacklist. They should be base names, not +# paths. +ignore=CVS
# Pickle collected data for later comparisons. persistent=yes
-# Set the cache size for astng objects. -cache-size=500 - # List of plugins (as comma separated values of python modules names) to load, # usually to register additional checkers. load-plugins=
+# DEPRECATED +#include-ids=no + +# DEPRECATED +#symbols=no + +# Use multiple processes to speed up Pylint. +jobs=1 + +# Allow loading of arbitrary C extensions. Extensions are imported into the +# active Python interpreter and may run arbitrary code. +unsafe-load-any-extension=no + +# A comma-separated list of package or module names from where C extensions may +# be loaded. Extensions are loading into the active Python interpreter and may +# run arbitrary code +extension-pkg-whitelist= +
[MESSAGES CONTROL]
-# Enable only checker(s) with the given id(s). This option conflicts with the -# disable-checker option -#enable-checker= +# Only show warnings with the listed confidence levels. Leave empty to show +# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED +confidence=
-# Enable all checker(s) except those with the given id(s). This option -# conflicts with the enable-checker option -disable-checker=SIMILARITIES +# 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. See also the "--disable" option for examples. +#enable=
-# Enable all messages in the listed categories. -#enable-msg-cat= +# Disable the message, report, category or checker with the given id(s). You +# 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 all messages in the listed categories. -#disable-msg-cat= +# CHIRP disables the following checks: +# C0103: tyrannical variable naming +# C0326: whitespace (pep8 checks this well enough) +# C0330: hanging indentation (pep8 handles this too) +# R0201: methods that could be functions +# W0142: use * or ** magic +# W0511: FIXMEs +# W0621: variable in inner scope masks another of same name in outer scope
-# Enable the message(s) with the given id(s). -#enable-msg= - -# Disable the message(s) with the given id(s). -disable-msg=W0142,C0111 +disable=C0103,C0330,C0326,R0201,W0142,W0511,W0621
[REPORTS]
-# set the output format. Available formats are text, parseable, colorized, msvs -# (visual studio) and html -output-format=text - -# Include message's id in output -include-ids=no +# Set the output format. Available formats are text, parseable, colorized, msvs +# (visual studio) and html. You can also give a reporter class, eg +# mypackage.mymodule.MyReporterClass. +output-format=colorized
# 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]". files-output=no
-# Tells wether to display a full report or only the messages +# Tells whether to display a full report or only the messages reports=yes
# Python expression which should return a note less than 10 (10 is the highest -# note).You have access to the variables errors warning, statement which -# respectivly contain the number of errors / warnings messages and the total +# 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
-# Enable the report(s) with the given id(s). -#enable-report= - -# Disable the report(s) with the given id(s). -#disable-report= - - -# checks for : -# * doc strings -# * modules / classes / functions / methods / arguments / variables name -# * number of arguments, local variables, branchs, returns and statements in -# functions, methods -# * required module attributes -# * dangerous default values as arguments -# * redefinition of function / method / class -# * uses of the global statement -# +# 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= + + +[SIMILARITIES] + +# Minimum lines number of a similarity. +min-similarity-lines=4 + +# Ignore comments when computing similarities. +ignore-comments=yes + +# Ignore docstrings when computing similarities. +ignore-docstrings=yes + +# Ignore imports when computing similarities. +ignore-imports=no + + +[TYPECHECK] + +# Tells whether missing members accessed in mixin class should be ignored. A +# 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 existing 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=SQLObject + +# When zope mode is activated, add a predefined set of Zope acquired attributes +# to generated-members. +zope=no + +# List of members which are set dynamically and missed by pylint inference +# system, and so shouldn't trigger E0201 when accessed. Python regular +# expressions are accepted. +generated-members=REQUEST,acl_users,aq_parent + + +[SPELLING] + +# Spelling dictionary name. Available dictionaries: none. To make it working +# install python-enchant package. +spelling-dict= + +# List of comma separated words that should not be checked. +spelling-ignore-words= + +# A path to a file that contains private dictionary; one word per line. +spelling-private-dict-file= + +# Tells whether to store unknown words to indicated private dictionary in +# --spelling-private-dict-file option instead of raising a message. +spelling-store-unknown-words=no + + [BASIC]
# Required attributes for module, separated by a comma required-attributes=
-# Regular expression which should only match functions or classes name which do -# not require a docstring -#no-docstring-rgx=__.*__ -no-docstring-rgx=.* +# List of builtins function names that should not be used, separated by a comma +bad-functions=map,filter,apply,input
-# Regular expression which should only match correct module names -module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$ +# Good variable names which should always be accepted, separated by a comma +good-names=i,j,k,v,f,e,ex,Run,_
-# Regular expression which should only match correct module level names -const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$ +# Bad variable names which should always be refused, separated by a comma +bad-names=bar,baz,toto,tutu,tata
-# Regular expression which should only match correct class names -class-rgx=[A-Z_][a-zA-Z0-9]+$ +# Colon-delimited sets of names that determine each other's naming style when +# the name regexes allow several styles. +name-group=
-# Regular expression which should only match correct function names +# 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-z0-9_]{1,30}$
-# Regular expression which should only match correct method names -method-rgx=[a-z_][a-z0-9_]{1,30}$ +# Naming hint for function names +function-name-hint=[a-z_][a-z0-9_]{2,30}$
-# Regular expression which should only match correct instance attribute names -attr-rgx=[a-z_][a-z0-9_]{1,30}$ - -# Regular expression which should only match correct argument names -argument-rgx=[a-z_][a-z0-9_]{1,30}$ - -# Regular expression which should only match correct variable names +# Regular expression matching correct variable names variable-rgx=[a-z_][a-z0-9_]{1,30}$
-# Regular expression which should only match correct list comprehension / -# generator expression variable names +# 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_]*)|(__.*__))$ + +# 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}$ + +# 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_]{1,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_]*$
-# Good variable names which should always be accepted, separated by a comma -good-names=i,j,k,ex,Run,_,e +# Naming hint for inline iteration names +inlinevar-name-hint=[A-Za-z_][A-Za-z0-9_]*$
-# Bad variable names which should always be refused, separated by a comma -bad-names=foo,bar,baz,toto,tutu,tata +# Regular expression matching correct class names +class-rgx=[A-Z_][a-zA-Z0-9]+$
-# List of builtins function names that should not be used, separated by a comma -bad-functions=map,filter,apply,input +# 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_]*)|([A-Z][a-zA-Z0-9]+))$
-# try to find bugs in the code using type inference -# -[TYPECHECK] +# Naming hint for module names +module-name-hint=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
-# Tells wether missing members accessed in mixin class should be ignored. A -# mixin class is detected if its name ends with "mixin" (case insensitive). -ignore-mixin-members=yes +# Regular expression matching correct method names +method-rgx=[a-z_][a-z0-9_]{2,30}$
-# When zope mode is activated, consider the acquired-members option to ignore -# access to some undefined attributes. -zope=no +# Naming hint for method names +method-name-hint=[a-z_][a-z0-9_]{2,30}$
-# List of members which are usually get through zope's acquisition mecanism and -# so shouldn't trigger E0201 when accessed (need zope=yes to be considered). -acquired-members=REQUEST,acl_users,aq_parent +# 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=80 + +# Regexp for a line that is allowed to be longer than the limit. +ignore-long-lines=^\s*(# )?<?https?://\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,dict-separator + +# 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 + +# Expected format of line ending, e.g. empty (any line ending), LF or CRLF. +expected-line-ending-format=
-# checks for -# * unused variables / imports -# * undefined variables -# * redefinition of variable from builtins or from an outer scope -# * use of variable before assigment -# [VARIABLES]
-# Tells wether we should check for unused import in __init__ files. +# Tells whether we should check for unused import in __init__ files. init-import=no
-# A regular expression matching names used for dummy variables (i.e. not used). -dummy-variables-rgx=_|dummy +# A regular expression matching the name of dummy variables (i.e. expectedly +# not used). +dummy-variables-rgx=_|dummy|foo
# List of additional names supposed to be defined in builtins. Remember that # you should avoid to define new builtins when possible. additional-builtins=
+# List of strings which can identify a callback function by name. A callback +# name must start or end with one of those strings. +callbacks=cb_,_cb + + +[LOGGING] + +# Logging modules to check that the string format arguments are in logging +# function parameter format +logging-modules=logging + + +[MISCELLANEOUS] + +# List of note tags to take in consideration, separated by a comma. +notes=FIXME,XXX,TODO +
-# checks for sign of poor/misdesign: -# * number of methods, attributes, local variables... -# * size, complexity of functions, methods -# [DESIGN]
# Maximum number of arguments for function / method -max-args=5 +max-args=8 + +# Argument names that match this expression will be ignored. Default to name +# with leading underscore +ignored-argument-names=_.*
# Maximum number of locals for function / method body max-locals=15 @@ -203,7 +327,7 @@ max-locals=15 max-returns=6
# Maximum number of branch for function / method body -max-branchs=12 +max-branches=20
# Maximum number of statements in function / method body max-statements=50 @@ -212,97 +336,55 @@ max-statements=50 max-parents=7
# Maximum number of attributes for a class (see R0902). -max-attributes=7 +max-attributes=25
# Minimum number of public methods for a class (see R0903). -min-public-methods=2 +min-public-methods=0
# Maximum number of public methods for a class (see R0904). -max-public-methods=20 +max-public-methods=40
-# checks for : -# * methods without self as first argument -# * overridden methods signature -# * access only to existant members via self -# * attributes not defined in the __init__ method -# * supported interfaces implementation -# * unreachable code -# -[CLASSES] - -# List of interface methods to ignore, separated by a comma. This is used for -# instance to not check methods defines in Zope's Interface base class. -ignore-iface-methods=isImplementedBy,deferred,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,adaptWith,is_implemented_by - -# List of method names used to declare (i.e. assign) instance attributes. -defining-attr-methods=__init__,__new__,setUp - - -# checks for -# * external modules dependencies -# * relative / wildcard imports -# * cyclic imports -# * uses of deprecated modules -# [IMPORTS]
# Deprecated modules which should not be used, separated by a comma deprecated-modules=regsub,string,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=
-# checks for: -# * warning notes in the code like FIXME, XXX -# * PEP 263: source code with non ascii character but no encoding declaration -# -[MISCELLANEOUS] +[CLASSES]
-# List of note tags to take in consideration, separated by a comma. -notes=FIXME,XXX,TODO +# List of interface methods to ignore, separated by a comma. This is used for +# instance to not check methods defines in Zope's Interface base class. +ignore-iface-methods=isImplementedBy,deferred,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,adaptWith,is_implemented_by
+# List of method names used to declare (i.e. assign) instance attributes. +defining-attr-methods=__init__,__new__,setUp
-# checks for : -# * unauthorized constructions -# * strict indentation -# * line length -# * use of <> instead of != -# -[FORMAT] +# List of valid names for the first argument in a class method. +valid-classmethod-first-arg=cls
-# Maximum number of characters on a single line. -max-line-length=80 +# List of valid names for the first argument in a metaclass class method. +valid-metaclass-classmethod-first-arg=mcs
-# Maximum number of lines in a module -max-module-lines=1000 +# List of member names, which should be excluded from the protected access +# warning. +exclude-protected=_asdict,_fields,_replace,_source,_make
-# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1 -# tab). -indent-string=' '
+[EXCEPTIONS]
-# checks for similarities and duplicated code. This computation may be -# memory / CPU intensive, so you should disable it if you experiments some -# problems. -# -[SIMILARITIES] - -# Minimum lines number of a similarity. -min-similarity-lines=4 - -# Ignore comments when computing similarities. -ignore-comments=yes - -# Ignore docstrings when computing similarities. -ignore-docstrings=yes +# Exceptions that will emit a warning when being caught. Defaults to +# "Exception" +overgeneral-exceptions=Exception