# HG changeset patch # User Vincent Hatakeyama <vincent.hatakeyama@xcg-consulting.fr> # Date 1523010510 -7200 # Fri Apr 06 12:28:30 2018 +0200 # Node ID 7dad6c32cf7c127b070a581b71158ace2d009d96 # Parent e7a9c854af8840d2efdee445167e7e5e8d6c391b make docker_dev_start call build with dev option when the image is not present diff --git a/docker_build.py b/docker_build.py --- a/docker_build.py +++ b/docker_build.py @@ -21,17 +21,14 @@ _logger = logging.getLogger(__name__) -__version__ = '0.0.1' +__version__ = '0.1.0' __date__ = '2018-04-04' -__updated__ = '2018-04-04' +__updated__ = '2018-04-06' def main(argv=None): # IGNORE:C0111 """Parse arguments and docker build """ - if argv is not None: - sys.argv.extend(argv) - program_version = __version__ program_build_date = str(__updated__) program_version_message = '%%(prog)s %s (%s)' % ( @@ -91,7 +88,7 @@ # TODO detect that user is member of docker group - nmspc = parser.parse_args() + nmspc = parser.parse_args(argv) verbose = nmspc.verbose if not verbose: logging.basicConfig(level=logging.WARN) @@ -192,6 +189,6 @@ if __name__ == "__main__": - return_code = main() + return_code = main(sys.argv[1:]) if return_code: exit(return_code) diff --git a/docker_dev_start.py b/docker_dev_start.py --- a/docker_dev_start.py +++ b/docker_dev_start.py @@ -26,9 +26,9 @@ _logger = logging.getLogger(__name__) -__version__ = '0.1.1' +__version__ = '1.0.0' __date__ = '2017-08-11' -__updated__ = '2018-04-04' +__updated__ = '2018-04-06' def which(program): @@ -55,9 +55,6 @@ def main(argv=None): # IGNORE:C0111 """Parse arguments and launch conversion """ - if argv is not None: - sys.argv.extend(argv) - program_version = __version__ program_build_date = str(__updated__) program_version_message = '%%(prog)s %s (%s)' % ( @@ -174,7 +171,18 @@ ) parser.add_argument( '--no-flake8', - help="Do not run flake8", + help="Do not run flake8 [default: %(default)s]", + action='store_true', + ) + build_group = parser.add_mutually_exclusive_group() + build_group.add_argument( + '--no-build', + help="Do not build locally [default: %(default)s]", + action='store_true', + ) + build_group.add_argument( + '--force-build', + help="Force new local build [default: %(default)s]", action='store_true', ) network_group = parser.add_mutually_exclusive_group() @@ -195,7 +203,7 @@ # TODO add a way to add options to docker # TODO add a way to add arg to odoo - nmspc = parser.parse_args() + nmspc = parser.parse_args(argv) verbose = nmspc.verbose if not verbose: logging.basicConfig(level=logging.WARN) @@ -242,9 +250,20 @@ docker_client = docker_api(base_url='unix://var/run/docker.sock') image_list = docker_client.images(name=image, quiet=True) if not image_list: - logging.warning("Image %s does not exist", image) + logging.info("Image %s does not exist", image) else: - logging.info("Test image found") + logging.info("Image %s exists", image) + if (not image_list and not nmspc.no_build) or nmspc.force_build: + logging.info("Building image %s", image) + import docker_build + arguments = [ + '--dev' + ] + if verbose == 1: + arguments.append('-v') + elif verbose and verbose > 1: + arguments.append('-vv') + docker_build.main(arguments) # options is only used with subprocess call options = [ @@ -579,6 +598,6 @@ if __name__ == "__main__": - return_code = main() + return_code = main(sys.argv[1:]) if return_code: exit(return_code)