From ddde2b227eaca079ef4ba0b0b667fd81972d0db9 Mon Sep 17 00:00:00 2001 From: Erin O'Connell Date: Sun, 19 Nov 2017 15:50:05 -0700 Subject: [PATCH] merging a PR from the official dotenv repo that addresses the newline issue --- pipenv/patched/dotenv/main.py | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/pipenv/patched/dotenv/main.py b/pipenv/patched/dotenv/main.py index ba150270..59f05174 100644 --- a/pipenv/patched/dotenv/main.py +++ b/pipenv/patched/dotenv/main.py @@ -97,16 +97,10 @@ def dotenv_values(dotenv_path): def parse_dotenv(dotenv_path): with open(dotenv_path) as f: - for line in f: - line = line.strip() - if not line or line.startswith('#') or '=' not in line: - continue - k, v = line.split('=', 1) - # Remove any leading and trailing spaces in key, value - k, v = k.strip(), v.strip() - + for k, v in re.findall('^\s*(\w*)\s*=\s*("[^"]*"|[^\s]*)\s*$', f.read(), flags=re.MULTILINE): if len(v) > 0: quoted = v[0] == v[len(v) - 1] in ['"', "'"] + if quoted: v = decode_escaped(v[1:-1])