fix #392: multiple '=' in .env file

This commit is contained in:
debugtalk
2018-09-17 15:16:35 +08:00
parent 3c4f0210f3
commit 9993bb7b81
3 changed files with 5 additions and 3 deletions

View File

@@ -192,9 +192,9 @@ def load_dot_env_file():
with io.open(path, 'r', encoding='utf-8') as fp:
for line in fp:
if "=" in line:
variable, value = line.split("=")
variable, value = line.split("=", maxsplit=1)
elif ":" in line:
variable, value = line.split(":")
variable, value = line.split(":", maxsplit=1)
else:
raise exceptions.FileFormatError(".env format error")

View File

@@ -1,3 +1,4 @@
UserName=test
Password=654321
PROJECT_KEY=AAABBBCCC
PROJECT_KEY=AAABBBCCC
content_type=application/json; charset=UTF-8

View File

@@ -148,6 +148,7 @@ class TestFileLoader(unittest.TestCase):
env_variables_mapping = loader.load_dot_env_file()
self.assertIn("PROJECT_KEY", env_variables_mapping)
self.assertEqual(env_variables_mapping["UserName"], "test")
self.assertEqual(env_variables_mapping["content_type"], "application/json; charset=UTF-8")
loader.dot_env_path = None
def test_load_env_path_not_exist(self):