X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/b50a52708c564a9ded05b579e39eadbb928050a3..35e8d1560d68e8113ff926a9f832582f8f4a694f:/src/black_primer/cli.py diff --git a/src/black_primer/cli.py b/src/black_primer/cli.py index 010ea6c..b2d4159 100644 --- a/src/black_primer/cli.py +++ b/src/black_primer/cli.py @@ -1,10 +1,9 @@ -#!/usr/bin/env python3 +# coding=utf8 import asyncio import logging import sys from datetime import datetime -from os import cpu_count from pathlib import Path from shutil import rmtree, which from tempfile import gettempdir @@ -50,7 +49,7 @@ async def async_main( work_path.mkdir() if not which("black"): - LOG.error(f"Can not find 'black' executable in PATH. No point in running") + LOG.error("Can not find 'black' executable in PATH. No point in running") return -1 try: @@ -61,9 +60,9 @@ async def async_main( finally: if not keep and work_path.exists(): LOG.debug(f"Removing {work_path}") - rmtree(work_path) + rmtree(work_path, onerror=lib.handle_PermissionError) - return -1 + return -2 @click.command(context_settings={"help_option_names": ["-h", "--help"]}) @@ -109,21 +108,21 @@ async def async_main( default=str(DEFAULT_WORKDIR), type=click.Path(exists=False), show_default=True, - help="Directory Path for repo checkouts", + help="Directory path for repo checkouts", ) @click.option( "-W", "--workers", - default=int((cpu_count() or 4) / 2) or 1, + default=2, type=int, show_default=True, help="Number of parallel worker coroutines", ) @click.pass_context def main(ctx: click.core.Context, **kwargs: Any) -> None: - """primer - prime projects for blackening ... 🏴""" + """primer - prime projects for blackening... 🏴""" LOG.debug(f"Starting {sys.argv[0]}") - # TODO: Change to asyncio.run when black >= 3.7 only + # TODO: Change to asyncio.run when Black >= 3.7 only loop = asyncio.get_event_loop() try: ctx.exit(loop.run_until_complete(async_main(**kwargs))) @@ -131,5 +130,5 @@ def main(ctx: click.core.Context, **kwargs: Any) -> None: loop.close() -if __name__ == "__main__": +if __name__ == "__main__": # pragma: nocover main()