makes it possible to have '=' in the env file

note that the docker command line flag --env-file also allows '=' in the env file

Signed-off-by: Kristian Lewis Jones <klj613@kristianlewisjones.com>
This commit is contained in:
Kristian Lewis Jones 2016-03-21 15:24:43 +00:00
parent 5c1c42397c
commit 6eaf8ce721
2 changed files with 9 additions and 1 deletions

View File

@ -834,7 +834,7 @@ def parse_env_file(env_file):
if line[0] == '#':
continue
parse_line = line.strip().split('=')
parse_line = line.strip().split('=', 1)
if len(parse_line) == 2:
k, v = parse_line
environment[k] = v

View File

@ -355,6 +355,14 @@ class ParseEnvFileTest(base.BaseTestCase):
{'USER': 'jdoe', 'PASS': 'secret'})
os.unlink(env_file)
def test_parse_env_file_with_equals_character(self):
env_file = self.generate_tempfile(
file_content='USER=jdoe\nPASS=sec==ret')
get_parse_env_file = parse_env_file(env_file)
self.assertEqual(get_parse_env_file,
{'USER': 'jdoe', 'PASS': 'sec==ret'})
os.unlink(env_file)
def test_parse_env_file_commented_line(self):
env_file = self.generate_tempfile(
file_content='USER=jdoe\n#PASS=secret')