From 7ff57a759c5b2753c13aa06b5d1f000a5664323c Mon Sep 17 00:00:00 2001 From: Ezio Melotti Date: Wed, 21 Jun 2023 22:51:47 +0200 Subject: [PATCH] Add custom --env-file support to simoc.py. --- simoc.py | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/simoc.py b/simoc.py index 6fe16ba4..228860d5 100644 --- a/simoc.py +++ b/simoc.py @@ -36,13 +36,14 @@ def parse_env(fname): print(f'Unrecognized line in {fname}: {line!r}') return env -try: - ENVVARS = parse_env(ENV_FILE) -except FileNotFoundError: - sys.exit(f"Can't find env file: {ENV_FILE!r}") - -# update environ with the new envvars -os.environ.update(ENVVARS) +def update_env(env_file): + try: + envvars = parse_env(env_file) + except FileNotFoundError: + sys.exit(f"Can't find env file: {env_file!r}") + # update environ with the new envvars + os.environ.update(envvars) + return envvars COMMANDS = {} @@ -388,6 +389,10 @@ def create_help(cmds): '--docker-file', metavar='FILE', default=COMPOSE_FILE, help='the docker-compose yml file (default: %(default)r)' ) + parser.add_argument( + '--env-file', metavar='FILE', default=ENV_FILE, + help='the env file (default: %(default)r)' + ) parser.add_argument( '--with-dev-backend', action='store_true', help='use the dev backend flask container' @@ -408,6 +413,11 @@ def create_help(cmds): if args.docker_file: COMPOSE_FILE = args.docker_file DOCKER_COMPOSE_CMD = ['docker-compose', '-f', COMPOSE_FILE] + + if args.env_file: + ENV_FILE = args.env_file + ENVVARS = update_env(ENV_FILE) + if args.dev_backend_yml and not args.with_dev_backend: parser.error("Can't specify the dev backend yml without --with-dev-backend")