X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/a2408b3cb23fe252b3674cee484d742496bb3411..ab9baf0d65dedb87a853f87afc63d40276e10b3b:/src/black_primer/cli.py?ds=sidebyside diff --git a/src/black_primer/cli.py b/src/black_primer/cli.py index 09ab03f..f099704 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 @@ -14,6 +13,14 @@ import click from black_primer import lib +# If our environment has uvloop installed lets use it +try: + import uvloop + + uvloop.install() +except ImportError: + pass + DEFAULT_CONFIG = Path(__file__).parent / "primer.json" _timestamp = datetime.now().strftime("%Y%m%d%H%M%S") @@ -40,6 +47,7 @@ async def async_main( debug: bool, keep: bool, long_checkouts: bool, + no_diff: bool, rebase: bool, workdir: str, workers: int, @@ -55,13 +63,19 @@ async def async_main( try: ret_val = await lib.process_queue( - config, work_path, workers, keep, long_checkouts, rebase + config, + work_path, + workers, + keep, + long_checkouts, + rebase, + no_diff, ) return int(ret_val) 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 -2 @@ -96,6 +110,12 @@ async def async_main( show_default=True, help="Pull big projects to test", ) +@click.option( + "--no-diff", + is_flag=True, + show_default=True, + help="Disable showing source file changes in black output", +) @click.option( "-R", "--rebase", @@ -114,7 +134,7 @@ async def async_main( @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",