# HG changeset patch # User Vincent Hatakeyama <vincent.hatakeyama@xcg-consulting.fr> # Date 1646303948 -3600 # Thu Mar 03 11:39:08 2022 +0100 # Node ID dd7102bc407c8778fb498407d091377abcd761a7 # Parent 499a4f5da271fad83b0df710495fe084aff51c3f ✨ add docker_black to run black diff --git a/NEWS.rst b/NEWS.rst --- a/NEWS.rst +++ b/NEWS.rst @@ -2,6 +2,11 @@ History ======= +15.3.0 +------ + +Add docker_black to run black on a directory using the project image. Black must be present in that image. + 15.2.1 ------ diff --git a/README.rst b/README.rst --- a/README.rst +++ b/README.rst @@ -16,6 +16,13 @@ .. important:: As there is no way of indicating sections (worse, it is handling them incorrectly), do not use ``python3 setup.py install``. +docker_black +------------ + +Run dockerized black on provided directory. black must be present in the project image. + +This is part of the docker section. + docker_isort ------------ diff --git a/odoo_scripts/docker_prettier.py b/odoo_scripts/docker_black.py copy from odoo_scripts/docker_prettier.py copy to odoo_scripts/docker_black.py --- a/odoo_scripts/docker_prettier.py +++ b/odoo_scripts/docker_black.py @@ -1,6 +1,5 @@ #!/usr/bin/env python3 -# vim: set shiftwidth=4 softtabstop=4: -"""Run prettier in a docker +"""Run black in a docker """ import logging import os @@ -11,24 +10,19 @@ from .docker_client import DockerClient from .parsing import apply, basic_parser -__version__ = "1.0.1" -__date__ = "2022-02-17" +__version__ = "1.0.0" +__date__ = "2022-03-03" __updated__ = "2022-03-03" _logger = logging.getLogger(__name__) -_PRETTIER_DEST = "prettier" -"""Name of destination variable used for prettier in parsing""" +_BLACK_DEST = "black" +"""Name of destination variable used for black in parsing""" def __parser(): - program_version = __version__ - program_build_date = str(__updated__) - program_version_message = "%%(prog)s %s (%s)" % ( - program_version, - program_build_date, - ) - program_shortdesc = __doc__.split(".", maxsplit=1)[0] - program_license = f"""{program_shortdesc} + program_version_message = f"%(prog)s {__version__} ({__updated__})" + program_short_description = __doc__.split(".", maxsplit=1)[0] + program_license = f"""{program_short_description} Created by Vincent Hatakeyama on {__date__}. Copyright 2022 XCG Consulting. All rights reserved. @@ -45,7 +39,7 @@ parser.add_argument( help="Run pylint on given directory (relative path, for example " "github.com/OCA/server-auth)", - dest=_PRETTIER_DEST, + dest=_BLACK_DEST, ) parser.add_argument( "--write", @@ -62,13 +56,11 @@ add_build_options(parser) nmspc = parser.parse_args(argv) apply(nmspc) - return prettier( - getattr(nmspc, _PRETTIER_DEST), nmspc.write, get_build_options(nmspc) - ) + return black(getattr(nmspc, _BLACK_DEST), nmspc.write, get_build_options(nmspc)) -def prettier(directory: str, write: bool, build_options, pull: bool = True): - """Run prettier""" +def black(directory: str, write: bool, build_options, pull: bool = True): + """Run black""" config = Config() build_local_image(build_options) @@ -91,15 +83,15 @@ } command = ["."] - if write: - command.append("--write") + if not write: + command.extend(("--check", "--diff")) _logger.info("Running prettier in %s", path) return DockerClient.run( config.local_image, config.local_tag, { - "entrypoint": "prettier", + "entrypoint": "black", "user": os.getuid(), "command": command, "volumes": volumes, diff --git a/odoo_scripts/docker_prettier.py b/odoo_scripts/docker_prettier.py --- a/odoo_scripts/docker_prettier.py +++ b/odoo_scripts/docker_prettier.py @@ -16,6 +16,7 @@ __updated__ = "2022-03-03" _logger = logging.getLogger(__name__) + _PRETTIER_DEST = "prettier" """Name of destination variable used for prettier in parsing""" diff --git a/setup.py b/setup.py --- a/setup.py +++ b/setup.py @@ -37,6 +37,7 @@ "import_sql=odoo_scripts.import_sql:main [import_sql]", "docker_dev_start=odoo_scripts.docker_dev_start:main [docker]", "do_tests=odoo_scripts.do_tests:main", + "docker_black=odoo_scripts.docker_black:main [docker]", "docker_build=odoo_scripts.docker_build:main [docker]", "docker_build_clean=odoo_scripts.docker_build_clean:main", "docker_build_copy=odoo_scripts.docker_build_copy:main",