diff --git a/packaging/requirements.py b/packaging/requirements.py index bb71cc0b..53bb2f41 100644 --- a/packaging/requirements.py +++ b/packaging/requirements.py @@ -112,15 +112,10 @@ def __init__(self, requirement_string): self.name = req.name if req.url: parsed_url = urlparse.urlparse(req.url) - if parsed_url.scheme and "+" in parsed_url.scheme: - # VCS url - pass - elif parsed_url.scheme == "file": + if parsed_url.scheme == "file": if urlparse.urlunparse(parsed_url) != req.url: raise InvalidRequirement("Invalid URL given") - elif not (parsed_url.scheme and parsed_url.netloc) or ( - not parsed_url.scheme and not parsed_url.netloc - ): + elif not parsed_url.scheme: raise InvalidRequirement("Invalid URL: {0}".format(req.url)) self.url = req.url else: diff --git a/tests/test_requirements.py b/tests/test_requirements.py index 946b1c15..d8afdcff 100644 --- a/tests/test_requirements.py +++ b/tests/test_requirements.py @@ -104,9 +104,9 @@ def test_url_and_marker(self): def test_invalid_url(self): with pytest.raises(InvalidRequirement) as e: - Requirement("name @ gopher:/foo/com") + Requirement("name @ /a/b") assert "Invalid URL: " in str(e.value) - assert "gopher:/foo/com" in str(e.value) + assert "/a/b" in str(e.value) def test_file_url(self): req = Requirement("name @ file:///absolute/path")