diff --git a/poetry/console/commands/init.py b/poetry/console/commands/init.py index 976988f26c2..606dad2870a 100644 --- a/poetry/console/commands/init.py +++ b/poetry/console/commands/init.py @@ -373,7 +373,7 @@ def _parse_requirements( for requirement in requirements: requirement = requirement.strip() extras = [] - extras_m = re.search(r"\[([\w\d,-_]+)\]$", requirement) + extras_m = re.search(r"\[([\w\d,-_ ]+)\]$", requirement) if extras_m: extras = [e.strip() for e in extras_m.group(1).split(",")] requirement, _ = requirement.split("[") diff --git a/tests/console/commands/test_init.py b/tests/console/commands/test_init.py index 20f992327e7..d367fbc8b8e 100644 --- a/tests/console/commands/test_init.py +++ b/tests/console/commands/test_init.py @@ -556,3 +556,12 @@ def test_predefined_and_interactive_dev_dependencies(tester, repo): assert expected in output assert 'pytest-requests = "^0.2.0"' in output assert 'pytest = "^3.6.0"' in output + + +def test_add_package_with_extras_and_whitespace(tester): + result = tester._command._parse_requirements(["databases[postgresql, sqlite]"]) + + assert result[0]["name"] == "databases" + assert len(result[0]["extras"]) == 2 + assert "postgresql" in result[0]["extras"] + assert "sqlite" in result[0]["extras"]