Merge pull request #1317 from bfirsh/fix-environment-variable-file-with-new-lines

Fix parsing for an environment file with newlines
This commit is contained in:
Joffrey F 2016-11-28 12:06:38 -08:00 committed by GitHub
commit 4e08a5cb9e
2 changed files with 14 additions and 2 deletions

View File

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

View File

@ -465,10 +465,18 @@ class ParseEnvFileTest(unittest.TestCase):
def test_parse_env_file_commented_line(self):
env_file = self.generate_tempfile(
file_content='USER=jdoe\n#PASS=secret')
get_parse_env_file = parse_env_file((env_file))
get_parse_env_file = parse_env_file(env_file)
self.assertEqual(get_parse_env_file, {'USER': 'jdoe'})
os.unlink(env_file)
def test_parse_env_file_newline(self):
env_file = self.generate_tempfile(
file_content='\nUSER=jdoe\n\n\nPASS=secret')
get_parse_env_file = parse_env_file(env_file)
self.assertEqual(get_parse_env_file,
{'USER': 'jdoe', 'PASS': 'secret'})
os.unlink(env_file)
def test_parse_env_file_invalid_line(self):
env_file = self.generate_tempfile(
file_content='USER jdoe')