1
0
forked from VimPlug/jedi
Files
jedi-fork/jedi/evaluate/project.py
2017-12-29 02:39:35 +01:00

39 lines
1007 B
Python

from jedi._compatibility import force_unicode
from jedi.evaluate.sys_path import detect_additional_paths
from jedi.cache import memoize_method
class Project(object):
def __init__(self, sys_path=None):
self._script_path = None
self._base_sys_path = sys_path
def add_script_path(self, script_path):
self._script_path = script_path
def add_evaluator(self, evaluator):
self._evaluator = evaluator
@property
@memoize_method
def sys_path(self):
sys_path = self._base_sys_path
if sys_path is None:
sys_path = self._evaluator.environment.get_sys_path()
sys_path = list(sys_path)
try:
sys_path.remove('')
except ValueError:
pass
if self._script_path is None:
return sys_path
added_paths = map(
force_unicode,
detect_additional_paths(self._evaluator, self._script_path)
)
return sys_path + list(added_paths)