# Copyright (c) 2011 The Chromium OS Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. [MASTER] # Specify a configuration file. #rcfile= # Python code to execute, usually for sys.path manipulation such as # pygtk.require(). #init-hook= # 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. #ignore=CVS # Pickle collected data for later comparisons. #persistent=yes # List of plugins (as comma separated values of python modules names) to load, # usually to register additional checkers. load-plugins=chromite.cli.cros.lint [MESSAGES CONTROL] # 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 times. # R9301: logging is deprecated. Use "from chromite.lib import cros_logging as # logging" to import chromite/lib/cros_logging enable=cros-logging-import # 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 times (only on the command line, not in the configuration file where # it should appear only once). # C0103: Invalid name "LOADERS" (should match [a-z_][a-z0-9_]{2,30}$) # C0111: Missing docstring # C0302: Too many lines in module (N) # E1103: Instance has no '*' member (but some types could not be inferred) # I0011: Locally disabling warning. # I0012: Locally enabling warning. # R0201: Method could be a function # R0902: Too many instance attributes (N/7) # R0903: Too few public methods (N/2) # R0911: Too many return statements (N/6) # R0912: Too many branches (N/12) # R0913: Too many arguments (N/5) # R0914: Too many local variables (N/15) # R0915: Too many statements (N/50) # W0122: Use of the exec statement # W0141: Used builtin function '' # W0142: Used * or ** magic # W0403: Relative import 'constants', should be 'chromite.cbuildbot.constants' # W0511: Used when a warning note as FIXME or XXX is detected. # W0703: Catching too general exception Exception. # R0904: Too many public methods # R0921: Abstract class not referenced. # R0922: Abstract class is only referenced N times. disable=C0103,C0111,C0302,E1103,I0011,I0012,R0201,R0902,R0903,R0911,R0912,R0913,R0914,R0915,W0122,W0141,W0142,W0403,W0511,W0703,R0904,R0921,R0922 [REPORTS] # Set the output format. Available formats are text, parseable, colorized, msvs # (visual studio) and html #output-format=text # 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 whether to display a full report or only the messages # CHANGE: No report. reports=no # 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 # respectively contain the number of errors / warnings messages and the total # number of statements analyzed. This is used by the global evaluation report # (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 (RP0004). #comment=no [MISCELLANEOUS] # List of note tags to take in consideration, separated by a comma. #notes=FIXME,XXX,TODO [FORMAT] # Maximum number of characters on a single line. max-line-length=80 # Maximum number of lines in a module #max-module-lines=1000 # String used as indentation unit. This is usually " " (4 spaces) or "\t" (1 # tab). # CHANGE: Use " " instead. indent-string=' ' [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 classes names for which member attributes should not be checked # (useful for classes with attributes dynamically set). ignored-classes=hashlib,numpy # 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. # CHANGE: Added 'AndRaise', 'AndReturn', 'InAnyOrder' and 'MultipleTimes' for pymox. # CHANGE: Added tempdir for @osutils.TempDirDecorator. generated-members=REQUEST,acl_users,aq_parent,AndRaise,AndReturn,InAnyOrder,MultipleTimes,tempdir [BASIC] # Required attributes for module, separated by a comma #required-attributes= # 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]+))$ # Regular expression which should only match correct module level names #const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$ # 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 # # CHANGE: The ChromiumOS standard is different than PEP-8, so we need to # redefine this. # # Common exceptions to ChromiumOS standard: # - main: Standard for main function function-rgx=([A-Z_][a-zA-Z0-9]{2,30}|main)$ # Regular expression which should only match correct method names # # CHANGE: The ChromiumOS standard is different than PEP-8, so we need to # redefine this. Here's what we allow: # - CamelCaps, starting with a capital letter. No underscores in function # names. Can also have a "_" prefix (private method) or a "test" prefix # (unit test). # - Methods that look like __xyz__, which are used to do things like # __init__, __del__, etc. # - setUp, tearDown: For unit tests. method-rgx=((_|test)?[A-Z][a-zA-Z0-9]{2,30}|__[a-z]+__|setUp|tearDown)$ # Regular expression which should only match correct instance attribute names #attr-rgx=[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_]{2,30}$ # Regular expression which should only match correct list comprehension / # generator expression variable 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,_ # 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=__.*__ [SIMILARITIES] # Minimum lines number of a similarity. min-similarity-lines=20 # Ignore comments when computing similarities. #ignore-comments=yes # Ignore docstrings when computing similarities. #ignore-docstrings=yes [VARIABLES] # Tells whether we should check for unused import in __init__ files. #init-import=no # A regular expression matching the beginning of the name of dummy variables # (i.e. not used). dummy-variables-rgx=_|unused_ # List of additional names supposed to be defined in builtins. Remember that # you should avoid to define new builtins when possible. #additional-builtins= [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 [DESIGN] # Maximum number of arguments for function / method #max-args=5 # 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 # Maximum number of return / yield for function / method body #max-returns=6 # Maximum number of branch for function / method body #max-branchs=12 # Maximum number of statements in function / method body #max-statements=50 # Maximum number of parents for a class (see R0901). max-parents=10 # Maximum number of attributes for a class (see R0902). #max-attributes=7 # Minimum number of public methods for a class (see R0903). #min-public-methods=2 # Maximum number of public methods for a class (see R0904). #max-public-methods=20 [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 RP0402 must not be disabled) #import-graph= # 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 RP0402 must # not be disabled) #int-import-graph=