summaryrefslogtreecommitdiff
path: root/pylintrc
diff options
context:
space:
mode:
Diffstat (limited to 'pylintrc')
-rw-r--r--pylintrc355
1 files changed, 9 insertions, 346 deletions
diff --git a/pylintrc b/pylintrc
index 9ec7f3c61a..43a8deb58b 100644
--- a/pylintrc
+++ b/pylintrc
@@ -1,358 +1,21 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Copyright 2021 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-#
-# This file is copied Chromium OS platform2, as seen in the following link:
-# https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/pylintrc
-# Please keep in sync.
-
-# NB: This is a fork of chromite/pylintrc with indent set to 4.
-# Everything else is kept the same.
-
-[MASTER]
-
-# Add files or directories matching the regex patterns to the ignore list.
-# The regex matches against base names, not paths.
-ignore-patterns=
- .*_pb2\.py$,
- .*third_party\/.*.py$
-
-
-# List of plugins (as comma separated values of python modules names) to load,
-# usually to register additional checkers.
-load-plugins=
- chromite.cli.cros.lint,
- pylint.extensions.bad_builtin,
- pylint.extensions.docstyle,
- pylint.extensions.redefined_variable_type,
- pylint.extensions.overlapping_exceptions,
-
-# Configure quote preferences.
-string-quote = single-avoid-escape
-triple-quote = double
-docstring-quote = double
+# Changes to make pylint and black agree on the formatting.
[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.
-# eq-without-hash: We omit this as we don't require all objects be hashable.
-# We'll wait for unittest coverage to detect missing __hash__ on objects.
-# no-absolute-import: We don't seem to rely on this behavior, so don't enforce
-# using this future import everywhere.
-# round-builtin: We omit this as all our usage of round() is OK with either
-# Python 2 or 3 behavior (and probably leans towards 3 anyways).
-enable=
- apply-builtin,
- backtick,
- bad-python3-import,
- basestring-builtin,
- buffer-builtin,
- cmp-builtin,
- cmp-method,
- coerce-builtin,
- coerce-method,
- delslice-method,
- deprecated-itertools-function,
- deprecated-str-translate-call,
- deprecated-string-function,
- deprecated-types-field,
- dict-items-not-iterating,
- dict-iter-method,
- dict-keys-not-iterating,
- dict-values-not-iterating,
- dict-view-method,
- div-method,
- exception-message-attribute,
- execfile-builtin,
- file-builtin,
- filter-builtin-not-iterating,
- getslice-method,
- hex-method,
- idiv-method,
- import-star-module-level,
- indexing-exception,
- intern-builtin,
- invalid-str-codec,
- long-builtin,
- long-suffix,
- map-builtin-not-iterating,
- metaclass-assignment,
- next-method-called,
- next-method-defined,
- nonzero-method,
- oct-method,
- old-ne-operator,
- old-octal-literal,
- old-raise-syntax,
- parameter-unpacking,
- print-statement,
- raising-string,
- range-builtin-not-iterating,
- raw_input-builtin,
- rdiv-method,
- reduce-builtin,
- reload-builtin,
- setslice-method,
- standarderror-builtin,
- sys-max-int,
- unichr-builtin,
- unicode-builtin,
- unpacking-in-except,
- using-cmp-argument,
- xrange-builtin,
- zip-builtin-not-iterating,
-
-
-# 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".
-# We leave many of the style warnings to judgement/peer review.
-# TODO: We need to re-enable broad-except, but requires cleaning up our code.
-# TODO: Re-enable redefined-variable-type.
-# TODO: Re-enable inconsistent-return-statements.
-# TODO: Re-enable keyword-arg-before-vararg once we're on Python 3-only.
-# TODO: Re-enable useless-object-inheritance once we're on Python 3-only and
-# we update the style guide.
-# TODO: Re-enable import-outside-toplevel.
-# TODO: Re-enable unnecessary-comprehension.
-# TODO: Re-enable consider-using-dict-comprehension.
-# TODO: Re-enable consider-using-set-comprehension.
-# TODO: Re-enable consider-using-in.
-# TODO: Re-enable try-except-raise.
-# TODO: Re-enable chained-comparison.
disable=
- broad-except,
- chained-comparison,
- consider-iterating-dictionary,
- consider-using-dict-comprehension,
- consider-using-in,
- consider-using-set-comprehension,
+ bad-continuation,
+ bad-whitespace,
+ # These have nothing to do with black, they are just annoying
fixme,
- file-ignored,
- keyword-arg-before-vararg,
- import-outside-toplevel,
- inconsistent-return-statements,
- invalid-name,
- locally-disabled,
- locally-enabled,
- missing-docstring,
- no-member,
- no-else-break,
- no-else-continue,
- no-else-raise,
- no-else-return,
- no-self-use,
- raise-missing-from,
- redefined-variable-type,
- relative-import,
- super-with-arguments,
- too-few-public-methods,
too-many-arguments,
- too-many-boolean-expressions,
- too-many-branches,
- too-many-instance-attributes,
- too-many-lines,
- too-many-locals,
- too-many-nested-blocks,
- too-many-public-methods,
- too-many-return-statements,
too-many-statements,
- try-except-raise,
- unnecessary-comprehension,
- useless-object-inheritance,
-
-
-[REPORTS]
-
-# Tells whether to display a full report or only the messages
-# CHANGE: No report.
-reports=no
-
-# Activate the evaluation score.
-score=no
-
-
-[FORMAT]
-
-# Maximum number of characters on a single line.
-max-line-length=80
-
-# Disable line length enforcement for import statements or comment lines
-# containing URLs.
-ignore-long-lines=(^(import|from))|(^\s*(# )?<?https?://\S+>?$)
-
-# 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).
-indent-string=' '
-
-
-[TYPECHECK]
-
-# List of classes names for which member attributes should not be checked
-# (useful for classes with attributes dynamically set).
-ignored-classes=hashlib,numpy
-
-# List of members which are set dynamically and missed by pylint inference
-# system, and so shouldn't trigger E0201 when accessed.
-# CHANGE: Added tempdir for @osutils.TempDirDecorator.
-generated-members=REQUEST,acl_users,aq_parent,tempdir
-
-# List of modules for which member attributes should not be checked.
-# Modules listed here will not trigger import errors even if the linter can't
-# import them.
-#
-# pytest: Made available by our testing virtualenv and can be assumed exists.
-ignored-modules=pytest
-
-[BASIC]
-
-# List of builtins function names that should not be used, separated by a comma.
-# exit & quit are for the interactive interpreter shell only.
-# https://docs.python.org/3/library/constants.html#constants-added-by-the-site-module
-bad-functions=
- apply,
- exit,
- filter,
- map,
- quit,
- reduce,
-
-# 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)$
-
-
-[SIMILARITIES]
-
-# Minimum lines number of a similarity.
-min-similarity-lines=20
-
-
-[VARIABLES]
-
-# A regular expression matching the beginning of the name of dummy variables
-# (i.e. not used).
-dummy-variables-rgx=_|unused_
-
-
-[DESIGN]
-
-# Maximum number of parents for a class (see R0901).
-max-parents=10
-
-
-[IMPORTS]
-
-# Deprecated modules which should not be used, separated by a comma.
-# __builtin__: Use the 'six.moves.builtins' module instead
-# (or 'builtins' in Python 3).
-# apiclient: Use the 'googleapiclient' module instead.
-# Bastion: Dropped in Python 3.
-# ConfigParser: Use the 'six.moves.configparser' module instead
-# (or 'configparser' in Python 3).
-# cookielib: Use the 'six.moves.http_cookiejar' module instead
-# (or 'http.cookiejar' in Python 3).
-# cPickle: Use the 'pickle' module instead.
-# cStringIO: Use 'io.StringIO' or 'io.BytesIO' instead.
-# exceptions: Dropped in Python 3.
-# HTMLParser: Use the 'six.moves.html_parser' module instead
-# (or 'html.parser' in Python 3).
-# httplib: Use the 'six.moves.http_client' module instead
-# (or 'http.client' in Python 3).
-# md5: Use the 'hashlib' module instead.
-# mox: Use the 'mock' module instead.
-# optparse: Use the 'argparse' module instead.
-# Queue: Use the 'six.moves.queue' module instead (or 'queue' in Python 3).
-# regsub: Use the 're' module instead.
-# rexec: Dropped in Python 3.
-# StringIO: Use 'io.StringIO' or 'io.BytesIO' instead.
-# TERMIOS: Use the 'termios' module instead.
-# urllib2: Use the 'six.moves.urllib' module instead
-# (or 'urllib.request' in Python 3).
-# urlparse: Use the 'six.moves.urllib' module instead
-# (or 'urllib.parse' in Python 3).
-deprecated-modules=
- __builtin__,
- apiclient,
- Bastion,
- ConfigParser,
- cookielib,
- cPickle,
- cStringIO,
- exceptions,
- HTMLParser,
- httplib,
- md5,
- mock,
- mox,
- optparse,
- Queue,
- regsub,
- rexec,
- StringIO,
- TERMIOS,
- urllib2,
- urlparse,
-
-# Force import order to recognize a module as part of the standard
-# compatibility libraries.
-known-standard-library=
-
-# Force import order to recognize a module as part of a third party library.
-known-third-party=
- _emerge,
- apiclient,
- elftools,
- gcloud,
- google,
- googleapiclient,
- httplib2,
- jinja2,
- jsonschema,
- lddtree,
- magic,
- mock,
- oauth2client,
- portage,
- pylint,
- pytest,
- requests,
- six,
- sqlalchemy,
- yaml,
-
+ too-many-branches,
+ too-many-locals
-[LOGGING]
+[format]
-# Apply logging string format checks to calls on these modules.
-logging-modules=
- logging,
+string-quote=double