mirror of
https://fuchsia.googlesource.com/third_party/github.com/pylint-dev/pylint
synced 2024-09-21 16:19:21 +00:00
9e0baf370a
git is the source of truth for the copyright, copyrite (the tool) was taking exponentially longer with each release, and it's polluting the code with sometime as much as 50 lines of names.
30 lines
1.1 KiB
Python
30 lines
1.1 KiB
Python
# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
|
# For details: https://github.com/PyCQA/pylint/blob/main/LICENSE
|
|
# Copyright (c) https://github.com/PyCQA/pylint/graphs/contributors
|
|
|
|
import operator
|
|
import re
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
SYS_VERS_STR = (
|
|
"%d%d%d" % sys.version_info[:3] # pylint: disable=consider-using-f-string
|
|
)
|
|
TITLE_UNDERLINES = ["", "=", "-", "."]
|
|
UPDATE_OPTION = "--update-functional-output"
|
|
UPDATE_FILE = Path("pylint-functional-test-update")
|
|
# Common sub-expressions.
|
|
_MESSAGE = {"msg": r"[a-z][a-z\-]+"}
|
|
# Matches a #,
|
|
# - followed by a comparison operator and a Python version (optional),
|
|
# - followed by a line number with a +/- (optional),
|
|
# - followed by a list of bracketed message symbols.
|
|
# Used to extract expected messages from testdata files.
|
|
_EXPECTED_RE = re.compile(
|
|
r"\s*#\s*(?:(?P<line>[+-]?[0-9]+):)?" # pylint: disable=consider-using-f-string
|
|
r"(?:(?P<op>[><=]+) *(?P<version>[0-9.]+):)?"
|
|
r"\s*\[(?P<msgs>%(msg)s(?:,\s*%(msg)s)*)]" % _MESSAGE
|
|
)
|
|
|
|
_OPERATORS = {">": operator.gt, "<": operator.lt, ">=": operator.ge, "<=": operator.le}
|