Update parse_editable to return Set[str]

This commit is contained in:
Devesh Kumar Singh 2020-05-22 03:58:47 +05:30
parent 2c5cab492c
commit ac39efa537
2 changed files with 10 additions and 10 deletions

View File

@ -75,7 +75,7 @@ def convert_extras(extras):
def parse_editable(editable_req):
# type: (str) -> Tuple[Optional[str], str, Optional[Set[str]]]
# type: (str) -> Tuple[Optional[str], str, Set[str]]
"""Parses an editable requirement into:
- a requirement name
- an URL
@ -117,7 +117,7 @@ def parse_editable(editable_req):
Requirement("placeholder" + extras.lower()).extras,
)
else:
return package_name, url_no_extras, None
return package_name, url_no_extras, set()
for version_control in vcs:
if url.lower().startswith('{}:'.format(version_control)):
@ -146,7 +146,7 @@ def parse_editable(editable_req):
"Could not detect requirement name for '{}', please specify one "
"with #egg=your_package_name".format(editable_req)
)
return package_name, url, None
return package_name, url, set()
def deduce_helpful_msg(req):
@ -185,7 +185,7 @@ class RequirementParts(object):
requirement, # type: Optional[Requirement]
link, # type: Optional[Link]
markers, # type: Optional[Marker]
extras, # type: Optional[Set[str]]
extras, # type: Set[str]
):
self.requirement = requirement
self.link = link
@ -236,7 +236,7 @@ def install_req_from_editable(
install_options=options.get("install_options", []) if options else [],
global_options=options.get("global_options", []) if options else [],
hash_options=options.get("hashes", {}) if options else {},
extras=parts.extras if parts.extras else set(),
extras=parts.extras,
)
@ -399,7 +399,7 @@ def install_req_from_line(
global_options=options.get("global_options", []) if options else [],
hash_options=options.get("hashes", {}) if options else {},
constraint=constraint,
extras=parts.extras if parts.extras else set(),
extras=parts.extras,
)

View File

@ -583,10 +583,10 @@ def test_parse_editable_local(
exists_mock.return_value = isdir_mock.return_value = True
# mocks needed to support path operations on windows tests
abspath_mock.return_value = "/some/path"
assert parse_editable('.') == (None, 'file:///some/path', None)
assert parse_editable('.') == (None, 'file:///some/path', set())
abspath_mock.return_value = "/some/path/foo"
assert parse_editable('foo') == (
None, 'file:///some/path/foo', None,
None, 'file:///some/path/foo', set(),
)
@ -594,7 +594,7 @@ def test_parse_editable_explicit_vcs():
assert parse_editable('svn+https://foo#egg=foo') == (
'foo',
'svn+https://foo#egg=foo',
None,
set(),
)
@ -602,7 +602,7 @@ def test_parse_editable_vcs_extras():
assert parse_editable('svn+https://foo#egg=foo[extras]') == (
'foo[extras]',
'svn+https://foo#egg=foo[extras]',
None,
set(),
)