summaryrefslogtreecommitdiff
path: root/pylintrc
diff options
context:
space:
mode:
authorJeremy Bettis <jbettis@google.com>2022-07-08 10:51:16 -0600
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-07-08 21:29:45 +0000
commit27ace7a6a83eb44bd153a02fe0dd5c339dd0b955 (patch)
tree68a005a53e1896b904b1596517af76818798ab28 /pylintrc
parentd2c45a29c38195a7bc9ae63073eec699805fab7b (diff)
downloadchrome-ec-27ace7a6a83eb44bd153a02fe0dd5c339dd0b955.tar.gz
ec: Adjust config files for python formatting
To support formatting all python files with black, isort, and flake8, move some settings from the zmake dir to the root dir. Removed isort from zmake/run_tests.sh, because moving the .isort.cfg confused it, and it needs to be removed anyway. BRANCH=None BUG=b:238434058 TEST=None Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I30d98015a56022ad9f95fdb3b0a7ed6c4bf24094 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3749241 Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org>
Diffstat (limited to 'pylintrc')
-rw-r--r--pylintrc354
1 files changed, 5 insertions, 349 deletions
diff --git a/pylintrc b/pylintrc
index 9ec7f3c61a..51f1236221 100644
--- a/pylintrc
+++ b/pylintrc
@@ -1,358 +1,14 @@
# Copyright 2021 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.
-#
-# 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,
- 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,
-
+disable=bad-continuation,bad-whitespace
-[LOGGING]
+[format]
-# Apply logging string format checks to calls on these modules.
-logging-modules=
- logging,
+max-line-length=88
+string-quote=double