remove editable_options which is now obsolete code

This commit is contained in:
Stéphane Bidoul 2016-02-09 10:40:48 +01:00
parent 4ccfec0e80
commit f3ca1b973f
2 changed files with 12 additions and 52 deletions

View File

@ -67,7 +67,7 @@ def _strip_extras(path):
class InstallRequirement(object):
def __init__(self, req, comes_from, source_dir=None, editable=False,
link=None, as_egg=False, update=True, editable_options=None,
link=None, as_egg=False, update=True,
pycompile=True, markers=None, isolated=False, options=None,
wheel_cache=None, constraint=False):
self.extras = ()
@ -91,10 +91,6 @@ class InstallRequirement(object):
self.source_dir = source_dir
self.editable = editable
if editable_options is None:
editable_options = {}
self.editable_options = editable_options
self._wheel_cache = wheel_cache
self.link = self.original_link = link
self.as_egg = as_egg
@ -135,7 +131,7 @@ class InstallRequirement(object):
constraint=False):
from pip.index import Link
name, url, extras_override, editable_options = parse_editable(
name, url, extras_override = parse_editable(
editable_req, default_vcs)
if url.startswith('file:'):
source_dir = url_to_path(url)
@ -146,7 +142,6 @@ class InstallRequirement(object):
editable=True,
link=Link(url),
constraint=constraint,
editable_options=editable_options,
isolated=isolated,
options=options if options else {},
wheel_cache=wheel_cache)
@ -1101,26 +1096,6 @@ def _build_req_from_url(url):
return req
def _build_editable_options(req):
"""
This method generates a dictionary of the query string
parameters contained in a given editable URL.
"""
regexp = re.compile(r"[\?#&](?P<name>[^&=]+)=(?P<value>[^&=]+)")
matched = regexp.findall(req)
if matched:
ret = dict()
for option in matched:
(name, value) = option
if name in ret:
raise Exception("%s option already defined" % name)
ret[name] = value
return ret
return None
def parse_editable(editable_req, default_vcs=None):
"""Parses an editable requirement into:
- a requirement name
@ -1163,10 +1138,9 @@ def parse_editable(editable_req, default_vcs=None):
pkg_resources.Requirement.parse(
'__placeholder__' + extras
).extras,
{},
)
else:
return package_name, url_no_extras, None, {}
return package_name, url_no_extras, None
for version_control in vcs:
if url.lower().startswith('%s:' % version_control):
@ -1191,21 +1165,10 @@ def parse_editable(editable_req, default_vcs=None):
' is currently supported'
raise InstallationError(error_message)
try:
options = _build_editable_options(editable_req)
except Exception as exc:
package_name = Link(url).egg_fragment
if not package_name:
raise InstallationError(
'--editable=%s error in editable options:%s' % (editable_req, exc)
'--editable=%s is not the right format; it must have '
'#egg=Package' % editable_req
)
if not options or 'egg' not in options:
req = _build_req_from_url(editable_req)
if not req:
raise InstallationError(
'--editable=%s is not the right format; it must have '
'#egg=Package' % editable_req
)
else:
req = options['egg']
package = _strip_postfix(req)
return package, url, None, options
return _strip_postfix(package_name), url, None

View File

@ -507,10 +507,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('.', 'git') == (None, 'file:///some/path', None, {})
assert parse_editable('.', 'git') == (None, 'file:///some/path', None)
abspath_mock.return_value = "/some/path/foo"
assert parse_editable('foo', 'git') == (
None, 'file:///some/path/foo', None, {},
None, 'file:///some/path/foo', None,
)
@ -519,7 +519,6 @@ def test_parse_editable_default_vcs():
'foo',
'git+https://foo#egg=foo',
None,
{'egg': 'foo'},
)
@ -528,7 +527,6 @@ def test_parse_editable_explicit_vcs():
'foo',
'svn+https://foo#egg=foo',
None,
{'egg': 'foo'},
)
@ -537,7 +535,6 @@ def test_parse_editable_vcs_extras():
'foo[extras]',
'svn+https://foo#egg=foo[extras]',
None,
{'egg': 'foo[extras]'},
)
@ -549,11 +546,11 @@ def test_parse_editable_local_extras(
exists_mock.return_value = isdir_mock.return_value = True
abspath_mock.return_value = "/some/path"
assert parse_editable('.[extras]', 'git') == (
None, 'file://' + "/some/path", ('extras',), {},
None, 'file://' + "/some/path", ('extras',),
)
abspath_mock.return_value = "/some/path/foo"
assert parse_editable('foo[bar,baz]', 'git') == (
None, 'file:///some/path/foo', ('bar', 'baz'), {},
None, 'file:///some/path/foo', ('bar', 'baz'),
)