From 09b509a659d786a367176793216c4dd5d16c1f46 Mon Sep 17 00:00:00 2001 From: EsGeh Date: Tue, 26 Nov 2019 12:04:41 +0100 Subject: [PATCH] tweak init and exit scripts --- scripts/config/{env.conf => env_default.conf} | 8 ++- scripts/exit.py | 57 ++++++++++++------- scripts/init.py | 13 ++++- scripts/utils/settings.py | 2 +- 4 files changed, 53 insertions(+), 27 deletions(-) rename scripts/config/{env.conf => env_default.conf} (84%) diff --git a/scripts/config/env.conf b/scripts/config/env_default.conf similarity index 84% rename from scripts/config/env.conf rename to scripts/config/env_default.conf index b9bcfe0..c3d36a8 100644 --- a/scripts/config/env.conf +++ b/scripts/config/env_default.conf @@ -18,13 +18,15 @@ SRC_DIR_IN_CONTAINER=/eoa/skripts DEPENDENCIES_DIR=dependencies DEPENDENCIES_DIR_IN_CONTAINER=/eoa/dependencies -HOME_DIR=runtime/work_dir +RUNTIME_DIR=runtime + +HOME_DIR=${RUNTIME_DIR}/work_dir HOME_DIR_IN_CONTAINER=/home/work_dir -INPUT_DIR=runtime/input +INPUT_DIR=${RUNTIME_DIR}/input INPUT_DIR_IN_CONTAINER=/eoa/input -OUTPUT_DIR=runtime/output +OUTPUT_DIR=${RUNTIME_DIR}/output OUTPUT_DIR_IN_CONTAINER=/eoa/output ################################################### diff --git a/scripts/exit.py b/scripts/exit.py index 26e25ec..9cc8d77 100755 --- a/scripts/exit.py +++ b/scripts/exit.py @@ -1,46 +1,57 @@ #!/usr/bin/env python3 -from utils.settings import BASE_DIR, load_config +from utils.settings import env_file, BASE_DIR, load_config, create_docker_env_file from pathlib import Path import shutil import os -def rm_dirs( config, rm_deps): - path = Path( BASE_DIR, config['DEPENDENCIES_DIR'] ) +def rm_dir( + path +): print( "removing dir '{}'".format( path ) ) shutil.rmtree( path, ignore_errors=True ) -def rm_docker_env_file( config ): - path = Path( - BASE_DIR / ".env" - ) - print( "removing '{}'".format( path ) ) - path.unlink() +def rm_file( + path +): + if path.is_file(): + print( "removing file '{}'".format( path ) ) + path.unlink() if __name__ == '__main__': from argparse import ArgumentParser + if not env_file.exists(): + create_docker_env_file() config = load_config() parser = ArgumentParser( description="clean up the repository" ) parser.add_argument( - "--rm-deps", - action = "store_true" + "-d", "--deps", + action = "store_true", + help = "remove dependencies", + ) + parser.add_argument( + "-r", "--runtime", + action = "store_true", + help = "remove '{rt_dir}'".format( rt_dir = BASE_DIR / config['RUNTIME_DIR'] ), ) parser.add_argument( - "--env-file", - action = "store_true" + "-e", "--env", + action = "store_true", + help = "remove existing .env file", ) parser.add_argument( "--all", - action = "store_true" + action = "store_true", + help = "purge in every way", ) args = parser.parse_args() @@ -48,9 +59,15 @@ def rm_docker_env_file( config ): stop( config ) - rm_dirs( - config, - rm_deps = args.rm_deps or args.all - ) - if args.env_file or args.all: - rm_docker_env_file( config ) + if args.deps or args.all: + rm_dir( + path = BASE_DIR / config['DEPENDENCIES_DIR'] + ) + if args.runtime or args.all: + rm_dir( + path = BASE_DIR / config['RUNTIME_DIR'] + ) + if args.env or args.all: + rm_file( + env_file + ) diff --git a/scripts/init.py b/scripts/init.py index d20d282..db60ef7 100755 --- a/scripts/init.py +++ b/scripts/init.py @@ -94,12 +94,19 @@ def install_git_dep( description="initialize the repository: download git deps, create directories, etc" ) parser.add_argument( - "--force-deps", - action = "store_true" + "-d", "--force-deps", + action = "store_true", + help = "download dependencies, even if yet existing", ) parser.add_argument( "--build", - action = "store_true" + action = "store_true", + help = "rebuild docker image from Dockerfile", + ) + parser.add_argument( + "-e", "--env", + action = "store_true", + help = "overwrite existing .env file", ) args = parser.parse_args() diff --git a/scripts/utils/settings.py b/scripts/utils/settings.py index 23409cb..9eeaa4d 100644 --- a/scripts/utils/settings.py +++ b/scripts/utils/settings.py @@ -8,7 +8,7 @@ BASE_DIR = Path( __file__ ).parent.parent.parent SCRIPT_DIR = Path( __file__ ).parent.parent -orig_config_file = SCRIPT_DIR / "config" / "env.conf" +orig_config_file = SCRIPT_DIR / "config" / "env_default.conf" env_file = BASE_DIR / ".env"