1
0
forked from VimPlug/jedi

Fix import names from sys path generation

This commit is contained in:
Dave Halter
2019-04-08 19:35:58 +02:00
parent 85fc799d62
commit 8c9ac923c6
4 changed files with 20 additions and 12 deletions
+1 -1
View File
@@ -155,7 +155,7 @@ class Script(object):
is_package = False
if self.path is not None:
import_names, is_p = transform_path_to_dotted(
self._evaluator.get_sys_path(),
self._evaluator.get_sys_path(add_parent_paths=False),
self.path
)
if import_names is not None:
+10 -8
View File
@@ -77,7 +77,8 @@ class Project(object):
py2_comp(path, **kwargs)
def _get_base_sys_path(self, environment=None):
@evaluator_as_method_param_cache()
def _get_base_sys_path(self, evaluator, environment=None):
if self._sys_path is not None:
return self._sys_path
@@ -93,7 +94,7 @@ class Project(object):
return sys_path
@evaluator_as_method_param_cache()
def _get_sys_path(self, evaluator, environment=None):
def _get_sys_path(self, evaluator, environment=None, add_parent_paths=True):
"""
Keep this method private for all users of jedi. However internally this
one is used like a public method.
@@ -101,19 +102,20 @@ class Project(object):
suffixed = []
prefixed = []
sys_path = list(self._get_base_sys_path(environment))
sys_path = list(self._get_base_sys_path(evaluator, environment))
if self._smart_sys_path:
prefixed.append(self._path)
if evaluator.script_path is not None:
suffixed += discover_buildout_paths(evaluator, evaluator.script_path)
traversed = list(traverse_parents(evaluator.script_path))
if add_parent_paths:
traversed = list(traverse_parents(evaluator.script_path))
# AFAIK some libraries have imports like `foo.foo.bar`, which
# leads to the conclusion to by default prefer longer paths
# rather than shorter ones by default.
suffixed += reversed(traversed)
# AFAIK some libraries have imports like `foo.foo.bar`, which
# leads to the conclusion to by default prefer longer paths
# rather than shorter ones by default.
suffixed += reversed(traversed)
if self._django:
prefixed.append(self._path)