From 083e0e95f0e8d4ab69de26bc49df3c02ca9dab7a Mon Sep 17 00:00:00 2001 From: "VALLEY Antoine (T0173847)" Date: Wed, 24 Jul 2019 09:44:03 +0200 Subject: [PATCH] Environement variable can both comme from file and parameters --- portainer_cli/__init__.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/portainer_cli/__init__.py b/portainer_cli/__init__.py index 02221c6..92e5842 100755 --- a/portainer_cli/__init__.py +++ b/portainer_cli/__init__.py @@ -250,8 +250,17 @@ class PortainerCLI(object): return stack['Id'] def extract_env(self, env_file='', *args): + # Handle --env.PARAM=VALUE + env_args = filter( + lambda x: re.match(env_arg_regex, x), + args, + ) + env = dict(map( + lambda x: env_arg_to_dict(x), + env_args, + )) + # Hand environement file if env_file: - env = {} for env_line in open(env_file).readlines(): env_line = env_line.strip() if not env_line or env_line.startswith('#') or '=' not in env_line: @@ -259,15 +268,7 @@ class PortainerCLI(object): k, v = env_line.split('=', 1) k, v = k.strip(), v.strip() env[k] = v - else: - env_args = filter( - lambda x: re.match(env_arg_regex, x), - args, - ) - env = dict(map( - lambda x: env_arg_to_dict(x), - env_args, - )) + return env @plac.annotations(