mirror of
https://github.com/PyCQA/flake8.git
synced 2026-04-06 13:06:53 +00:00
remove log_token and EXTRA_VERBOSE
- flake8 spent 5% of execution in `log_token` - `EXTRA_VERBOSE` was only used by `log_token` - `python -m tokenize` provides better debug token output
This commit is contained in:
parent
5ecea41b6d
commit
929cf5dfd3
6 changed files with 2 additions and 73 deletions
|
|
@ -57,8 +57,6 @@ Utility Functions
|
||||||
|
|
||||||
.. autofunction:: flake8.processor.is_multiline_string
|
.. autofunction:: flake8.processor.is_multiline_string
|
||||||
|
|
||||||
.. autofunction:: flake8.processor.log_token
|
|
||||||
|
|
||||||
.. autofunction:: flake8.processor.mutate_string
|
.. autofunction:: flake8.processor.mutate_string
|
||||||
|
|
||||||
.. autofunction:: flake8.processor.token_is_newline
|
.. autofunction:: flake8.processor.token_is_newline
|
||||||
|
|
|
||||||
|
|
@ -20,19 +20,11 @@ LOG.addHandler(logging.NullHandler())
|
||||||
__version__ = "4.0.1"
|
__version__ = "4.0.1"
|
||||||
__version_info__ = tuple(int(i) for i in __version__.split(".") if i.isdigit())
|
__version_info__ = tuple(int(i) for i in __version__.split(".") if i.isdigit())
|
||||||
|
|
||||||
|
|
||||||
# There is nothing lower than logging.DEBUG (10) in the logging library,
|
|
||||||
# but we want an extra level to avoid being too verbose when using -vv.
|
|
||||||
_EXTRA_VERBOSE = 5
|
|
||||||
logging.addLevelName(_EXTRA_VERBOSE, "VERBOSE")
|
|
||||||
|
|
||||||
_VERBOSITY_TO_LOG_LEVEL = {
|
_VERBOSITY_TO_LOG_LEVEL = {
|
||||||
# output more than warnings but not debugging info
|
# output more than warnings but not debugging info
|
||||||
1: logging.INFO, # INFO is a numerical level of 20
|
1: logging.INFO, # INFO is a numerical level of 20
|
||||||
# output debugging information
|
# output debugging information
|
||||||
2: logging.DEBUG, # DEBUG is a numerical level of 10
|
2: logging.DEBUG, # DEBUG is a numerical level of 10
|
||||||
# output extra verbose debugging information
|
|
||||||
3: _EXTRA_VERBOSE,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG_FORMAT = (
|
LOG_FORMAT = (
|
||||||
|
|
@ -58,9 +50,8 @@ def configure_logging(
|
||||||
"""
|
"""
|
||||||
if verbosity <= 0:
|
if verbosity <= 0:
|
||||||
return
|
return
|
||||||
if verbosity > 3:
|
|
||||||
verbosity = 3
|
|
||||||
|
|
||||||
|
verbosity = min(verbosity, max(_VERBOSITY_TO_LOG_LEVEL))
|
||||||
log_level = _VERBOSITY_TO_LOG_LEVEL[verbosity]
|
log_level = _VERBOSITY_TO_LOG_LEVEL[verbosity]
|
||||||
|
|
||||||
if not filename or filename in ("stderr", "stdout"):
|
if not filename or filename in ("stderr", "stdout"):
|
||||||
|
|
|
||||||
|
|
@ -510,7 +510,6 @@ class FileChecker:
|
||||||
statistics["tokens"] += 1
|
statistics["tokens"] += 1
|
||||||
self.check_physical_eol(token, prev_physical)
|
self.check_physical_eol(token, prev_physical)
|
||||||
token_type, text = token[0:2]
|
token_type, text = token[0:2]
|
||||||
processor.log_token(LOG, token)
|
|
||||||
if token_type == tokenize.OP:
|
if token_type == tokenize.OP:
|
||||||
parens = processor.count_parentheses(parens, text)
|
parens = processor.count_parentheses(parens, text)
|
||||||
elif parens == 0:
|
elif parens == 0:
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,6 @@ from typing import List
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
from typing import Tuple
|
from typing import Tuple
|
||||||
|
|
||||||
import flake8
|
|
||||||
from flake8 import defaults
|
from flake8 import defaults
|
||||||
from flake8 import utils
|
from flake8 import utils
|
||||||
from flake8.plugins.finder import LoadedPlugin
|
from flake8.plugins.finder import LoadedPlugin
|
||||||
|
|
@ -412,19 +411,6 @@ def count_parentheses(current_parentheses_count: int, token_text: str) -> int:
|
||||||
return current_parentheses_count
|
return current_parentheses_count
|
||||||
|
|
||||||
|
|
||||||
def log_token(log: logging.Logger, token: tokenize.TokenInfo) -> None:
|
|
||||||
"""Log a token to a provided logging object."""
|
|
||||||
if token[2][0] == token[3][0]:
|
|
||||||
pos = "[{}:{}]".format(token[2][1] or "", token[3][1])
|
|
||||||
else:
|
|
||||||
pos = f"l.{token[3][0]}"
|
|
||||||
log.log(
|
|
||||||
flake8._EXTRA_VERBOSE,
|
|
||||||
"l.%s\t%s\t%s\t%r"
|
|
||||||
% (token[2][0], pos, tokenize.tok_name[token[0]], token[1]),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def expand_indent(line: str) -> int:
|
def expand_indent(line: str) -> int:
|
||||||
r"""Return the amount of indentation.
|
r"""Return the amount of indentation.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ def options_from(**kwargs):
|
||||||
kwargs.setdefault("max_line_length", 79)
|
kwargs.setdefault("max_line_length", 79)
|
||||||
kwargs.setdefault("max_doc_length", None)
|
kwargs.setdefault("max_doc_length", None)
|
||||||
kwargs.setdefault("indent_size", 4)
|
kwargs.setdefault("indent_size", 4)
|
||||||
kwargs.setdefault("verbose", False)
|
kwargs.setdefault("verbose", 0)
|
||||||
kwargs.setdefault("stdin_display_name", "stdin")
|
kwargs.setdefault("stdin_display_name", "stdin")
|
||||||
kwargs.setdefault("disable_noqa", False)
|
kwargs.setdefault("disable_noqa", False)
|
||||||
return argparse.Namespace(**kwargs)
|
return argparse.Namespace(**kwargs)
|
||||||
|
|
|
||||||
|
|
@ -380,51 +380,6 @@ def test_expand_indent(string, expected):
|
||||||
assert expected == actual
|
assert expected == actual
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
|
||||||
"token, log_string",
|
|
||||||
[
|
|
||||||
[
|
|
||||||
(
|
|
||||||
tokenize.COMMENT,
|
|
||||||
"# this is a comment",
|
|
||||||
(1, 0), # (start_row, start_column)
|
|
||||||
(1, 19), # (end_ro, end_column)
|
|
||||||
"# this is a comment",
|
|
||||||
),
|
|
||||||
"l.1\t[:19]\tCOMMENT\t'# this is a comment'",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
(
|
|
||||||
tokenize.COMMENT,
|
|
||||||
"# this is a comment",
|
|
||||||
(1, 5), # (start_row, start_column)
|
|
||||||
(1, 19), # (end_ro, end_column)
|
|
||||||
"# this is a comment",
|
|
||||||
),
|
|
||||||
"l.1\t[5:19]\tCOMMENT\t'# this is a comment'",
|
|
||||||
],
|
|
||||||
[
|
|
||||||
(
|
|
||||||
tokenize.COMMENT,
|
|
||||||
"# this is a comment",
|
|
||||||
(1, 0), # (start_row, start_column)
|
|
||||||
(2, 19), # (end_ro, end_column)
|
|
||||||
"# this is a comment",
|
|
||||||
),
|
|
||||||
"l.1\tl.2\tCOMMENT\t'# this is a comment'",
|
|
||||||
],
|
|
||||||
],
|
|
||||||
)
|
|
||||||
def test_log_token(token, log_string):
|
|
||||||
"""Verify we use the log object passed in."""
|
|
||||||
log = mock.Mock()
|
|
||||||
processor.log_token(log, token)
|
|
||||||
log.log.assert_called_once_with(
|
|
||||||
5, # flake8._EXTRA_VERBOSE
|
|
||||||
log_string,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
"current_count, token_text, expected",
|
"current_count, token_text, expected",
|
||||||
[
|
[
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue