From edf27e486a1f556a74c915f9c1915c0b4466970e Mon Sep 17 00:00:00 2001 From: Ulysses Souza Date: Wed, 29 Jan 2020 14:29:32 +0100 Subject: [PATCH] Pass the interpolation value to python-dotenv Signed-off-by: Ulysses Souza --- compose/config/environment.py | 6 ++++-- requirements.txt | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/compose/config/environment.py b/compose/config/environment.py index 292029eb5..d8810ebb6 100644 --- a/compose/config/environment.py +++ b/compose/config/environment.py @@ -39,8 +39,10 @@ def env_vars_from_file(filename, interpolate=True): elif not os.path.isfile(filename): raise EnvFileNotFound("{} is not a file.".format(filename)) - # TODO: now we should do something with interpolate here, but what? - return dotenv.dotenv_values(dotenv_path=filename, encoding='utf-8-sig') + env = dotenv.dotenv_values(dotenv_path=filename, encoding='utf-8-sig', interpolate=interpolate) + for k, v in env.items(): + env[k] = v if interpolate else v.replace('$', '$$') + return env class Environment(dict): diff --git a/requirements.txt b/requirements.txt index ee57c26b5..8b1eca573 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,6 +10,7 @@ dockerpty==0.4.1 docopt==0.6.2 enum34==1.1.6; python_version < '3.4' functools32==3.2.3.post2; python_version < '3.2' +git+git://github.com/ulyssessouza/python-dotenv.git@no-interpolate#egg=python-dotenv idna==2.8 ipaddress==1.0.23 jsonschema==3.2.0 @@ -17,7 +18,7 @@ paramiko==2.7.1 pypiwin32==219; sys_platform == 'win32' and python_version < '3.6' pypiwin32==223; sys_platform == 'win32' and python_version >= '3.6' PySocks==1.7.1 -python-dotenv==0.10.5 +#python-dotenv==0.10.5 PyYAML==5.3 requests==2.22.0 six==1.12.0