fix some out-of-date docstrings; other cleanup (#865)

This commit is contained in:
Jelle Zijlstra 2019-05-26 03:09:11 -07:00 committed by Zsolt Dollenstein
parent bc7a4b2391
commit 1c43252aa3

View File

@ -16,6 +16,7 @@
import sys import sys
import tempfile import tempfile
import tokenize import tokenize
import traceback
from typing import ( from typing import (
Any, Any,
Callable, Callable,
@ -336,7 +337,7 @@ def read_pyproject_toml(
"--quiet", "--quiet",
is_flag=True, is_flag=True,
help=( help=(
"Don't emit non-error messages to stderr. Errors are still emitted, " "Don't emit non-error messages to stderr. Errors are still emitted; "
"silence those with 2>/dev/null." "silence those with 2>/dev/null."
), ),
) )
@ -467,8 +468,7 @@ def reformat_one(
) -> None: ) -> None:
"""Reformat a single file under `src` without spawning child processes. """Reformat a single file under `src` without spawning child processes.
If `quiet` is True, non-error messages are not output. `line_length`, `fast`, `write_back`, and `mode` options are passed to
`write_back`, `fast` and `pyi` options are passed to
:func:`format_file_in_place` or :func:`format_stdin_to_stdout`. :func:`format_file_in_place` or :func:`format_stdin_to_stdout`.
""" """
try: try:
@ -608,7 +608,7 @@ def format_file_in_place(
If `write_back` is DIFF, write a diff to stdout. If it is YES, write reformatted If `write_back` is DIFF, write a diff to stdout. If it is YES, write reformatted
code to the file. code to the file.
`line_length` and `fast` options are passed to :func:`format_file_contents`. `mode` and `fast` options are passed to :func:`format_file_contents`.
""" """
if src.suffix == ".pyi": if src.suffix == ".pyi":
mode = evolve(mode, is_pyi=True) mode = evolve(mode, is_pyi=True)
@ -686,7 +686,7 @@ def format_file_contents(
If `fast` is False, additionally confirm that the reformatted code is If `fast` is False, additionally confirm that the reformatted code is
valid by calling :func:`assert_equivalent` and :func:`assert_stable` on it. valid by calling :func:`assert_equivalent` and :func:`assert_stable` on it.
`line_length` is passed to :func:`format_str`. `mode` is passed to :func:`format_str`.
""" """
if src_contents.strip() == "": if src_contents.strip() == "":
raise NothingChanged raise NothingChanged
@ -704,7 +704,8 @@ def format_file_contents(
def format_str(src_contents: str, *, mode: FileMode) -> FileContent: def format_str(src_contents: str, *, mode: FileMode) -> FileContent:
"""Reformat a string and return new contents. """Reformat a string and return new contents.
`line_length` determines how many characters per line are allowed. `mode` determines formatting options, such as how many characters per line are
allowed.
""" """
src_node = lib2to3_parse(src_contents.lstrip(), mode.target_versions) src_node = lib2to3_parse(src_contents.lstrip(), mode.target_versions)
dst_contents = [] dst_contents = []
@ -1060,7 +1061,7 @@ def any_open_brackets(self) -> bool:
"""Return True if there is an yet unmatched open bracket on the line.""" """Return True if there is an yet unmatched open bracket on the line."""
return bool(self.bracket_match) return bool(self.bracket_match)
def max_delimiter_priority(self, exclude: Iterable[LeafID] = ()) -> int: def max_delimiter_priority(self, exclude: Iterable[LeafID] = ()) -> Priority:
"""Return the highest priority of a delimiter found on the line. """Return the highest priority of a delimiter found on the line.
Values are consistent with what `is_split_*_delimiter()` return. Values are consistent with what `is_split_*_delimiter()` return.
@ -1068,7 +1069,7 @@ def max_delimiter_priority(self, exclude: Iterable[LeafID] = ()) -> int:
""" """
return max(v for k, v in self.delimiters.items() if k not in exclude) return max(v for k, v in self.delimiters.items() if k not in exclude)
def delimiter_count_with_priority(self, priority: int = 0) -> int: def delimiter_count_with_priority(self, priority: Priority = 0) -> int:
"""Return the number of delimiters with the given `priority`. """Return the number of delimiters with the given `priority`.
If no `priority` is passed, defaults to max priority on the line. If no `priority` is passed, defaults to max priority on the line.
@ -2034,7 +2035,7 @@ def container_of(leaf: Leaf) -> LN:
return container return container
def is_split_after_delimiter(leaf: Leaf, previous: Optional[Leaf] = None) -> int: def is_split_after_delimiter(leaf: Leaf, previous: Optional[Leaf] = None) -> Priority:
"""Return the priority of the `leaf` delimiter, given a line break after it. """Return the priority of the `leaf` delimiter, given a line break after it.
The delimiter priorities returned here are from those delimiters that would The delimiter priorities returned here are from those delimiters that would
@ -2048,7 +2049,7 @@ def is_split_after_delimiter(leaf: Leaf, previous: Optional[Leaf] = None) -> int
return 0 return 0
def is_split_before_delimiter(leaf: Leaf, previous: Optional[Leaf] = None) -> int: def is_split_before_delimiter(leaf: Leaf, previous: Optional[Leaf] = None) -> Priority:
"""Return the priority of the `leaf` delimiter, given a line break before it. """Return the priority of the `leaf` delimiter, given a line break before it.
The delimiter priorities returned here are from those delimiters that would The delimiter priorities returned here are from those delimiters that would
@ -2803,7 +2804,7 @@ def format_float_or_int_string(text: str) -> str:
def normalize_invisible_parens(node: Node, parens_after: Set[str]) -> None: def normalize_invisible_parens(node: Node, parens_after: Set[str]) -> None:
"""Make existing optional parentheses invisible or create new ones. """Make existing optional parentheses invisible or create new ones.
`parens_after` is a set of string leaf values immeditely after which parens `parens_after` is a set of string leaf values immediately after which parens
should be put. should be put.
Standardizes on visible parentheses for single-element tuples, and keeps Standardizes on visible parentheses for single-element tuples, and keeps
@ -3081,7 +3082,7 @@ def is_stub_body(node: LN) -> bool:
) )
def max_delimiter_priority_in_atom(node: LN) -> int: def max_delimiter_priority_in_atom(node: LN) -> Priority:
"""Return maximum delimiter priority inside `node`. """Return maximum delimiter priority inside `node`.
This is specific to atoms with contents contained in a pair of parentheses. This is specific to atoms with contents contained in a pair of parentheses.
@ -3454,8 +3455,6 @@ def parse_ast(src: str) -> Union[ast3.AST, ast27.AST]:
def assert_equivalent(src: str, dst: str) -> None: def assert_equivalent(src: str, dst: str) -> None:
"""Raise AssertionError if `src` and `dst` aren't equivalent.""" """Raise AssertionError if `src` and `dst` aren't equivalent."""
import traceback
def _v(node: Union[ast3.AST, ast27.AST], depth: int = 0) -> Iterator[str]: def _v(node: Union[ast3.AST, ast27.AST], depth: int = 0) -> Iterator[str]:
"""Simple visitor generating strings to compare ASTs by content.""" """Simple visitor generating strings to compare ASTs by content."""
yield f"{' ' * depth}{node.__class__.__name__}(" yield f"{' ' * depth}{node.__class__.__name__}("
@ -3546,8 +3545,6 @@ def assert_stable(src: str, dst: str, mode: FileMode) -> None:
def dump_to_file(*output: str) -> str: def dump_to_file(*output: str) -> str:
"""Dump `output` to a temporary file. Return path to the file.""" """Dump `output` to a temporary file. Return path to the file."""
import tempfile
with tempfile.NamedTemporaryFile( with tempfile.NamedTemporaryFile(
mode="w", prefix="blk_", suffix=".log", delete=False, encoding="utf8" mode="w", prefix="blk_", suffix=".log", delete=False, encoding="utf8"
) as f: ) as f:
@ -3645,7 +3642,6 @@ def enumerate_with_length(
if "\n" in leaf.value: if "\n" in leaf.value:
return # Multiline strings, we can't continue. return # Multiline strings, we can't continue.
comment: Optional[Leaf]
for comment in line.comments_after(leaf): for comment in line.comments_after(leaf):
length += len(comment.value) length += len(comment.value)