]>
git.madduck.net Git - etc/vim.git/blobdiff - src/black/files.py
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
)
from pathspec import PathSpec
)
from pathspec import PathSpec
from black.output import err
from black.report import Report
from black.output import err
from black.report import Report
project root, the root of the file system is returned.
"""
if not srcs:
project root, the root of the file system is returned.
"""
if not srcs:
- return Path("/").resolve()
+ srcs = [str(Path.cwd().resolve())]
path_srcs = [Path(Path.cwd(), src).resolve() for src in srcs]
path_srcs = [Path(Path.cwd(), src).resolve() for src in srcs]
def parse_pyproject_toml(path_config: str) -> Dict[str, Any]:
"""Parse a pyproject toml file, pulling out relevant parts for Black
def parse_pyproject_toml(path_config: str) -> Dict[str, Any]:
"""Parse a pyproject toml file, pulling out relevant parts for Black
- If parsing fails, will raise a toml.Toml DecodeError
+ If parsing fails, will raise a tomli.TOML DecodeError
- pyproject_toml = toml.load(path_config)
+ with open(path_config, encoding="utf8") as f:
+ pyproject_toml = tomli.load(f)
config = pyproject_toml.get("tool", {}).get("black", {})
return {k.replace("--", "").replace("-", "_"): v for k, v in config.items()}
config = pyproject_toml.get("tool", {}).get("black", {})
return {k.replace("--", "").replace("-", "_"): v for k, v in config.items()}
gitignore = root / ".gitignore"
lines: List[str] = []
if gitignore.is_file():
gitignore = root / ".gitignore"
lines: List[str] = []
if gitignore.is_file():
- with gitignore.open() as gf:
+ with gitignore.open(encoding="utf-8" ) as gf:
lines = gf.readlines()
return PathSpec.from_lines("gitwildmatch", lines)
lines = gf.readlines()
return PathSpec.from_lines("gitwildmatch", lines)
continue
if child.is_dir():
continue
if child.is_dir():
+ # If gitignore is None, gitignore usage is disabled, while a Falsey
+ # gitignore is when the directory doesn't have a .gitignore file.
yield from gen_python_files(
child.iterdir(),
root,
yield from gen_python_files(
child.iterdir(),
root,
extend_exclude,
force_exclude,
report,
extend_exclude,
force_exclude,
report,
+ gitignore + get_gitignore(child) if gitignore is not None else None ,