mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-08 23:04:48 +08:00
Use the subprocess access to create acceses
This commit is contained in:
@@ -27,12 +27,12 @@ def create(evaluator, obj):
|
|||||||
def get_special_object(evaluator, identifier):
|
def get_special_object(evaluator, identifier):
|
||||||
return create_from_access_path(
|
return create_from_access_path(
|
||||||
evaluator,
|
evaluator,
|
||||||
access.get_special_object(evaluator, identifier)
|
evaluator.compiled_subprocess.get_special_object(identifier)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def load_module(evaluator, path=None, name=None):
|
def load_module(evaluator, path=None, name=None):
|
||||||
return create_from_access_path(
|
return create_from_access_path(
|
||||||
evaluator,
|
evaluator,
|
||||||
access.load_module(evaluator, path=path, name=name)
|
evaluator.compiled_subprocess.load_module(path=path, name=name)
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,16 +1,13 @@
|
|||||||
import sys
|
import sys
|
||||||
from jedi.evaluate import compiled
|
from jedi.evaluate.compiled import access
|
||||||
|
|
||||||
|
|
||||||
def get_sys_path():
|
def get_sys_path():
|
||||||
return sys.path
|
return sys.path
|
||||||
|
|
||||||
|
|
||||||
def import_module(evaluator, handles, path=None, name=None):
|
def load_module(evaluator, path=None, name=None):
|
||||||
compiled_object = compiled.load_module(evaluator, path=path, name=name)
|
return access.load_module(evaluator, path=path, name=name)
|
||||||
if compiled_object is None:
|
|
||||||
return None
|
|
||||||
return handles.create(compiled_object)
|
|
||||||
|
|
||||||
|
|
||||||
def get_compiled_method_return(evaluator, id, attribute, *args, **kwargs):
|
def get_compiled_method_return(evaluator, id, attribute, *args, **kwargs):
|
||||||
@@ -18,5 +15,5 @@ def get_compiled_method_return(evaluator, id, attribute, *args, **kwargs):
|
|||||||
return getattr(handle.access, attribute)(*args, **kwargs)
|
return getattr(handle.access, attribute)(*args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
def get_special_object(evaluator, handles, identifier):
|
def get_special_object(evaluator, identifier):
|
||||||
return compiled.get_special_object(evaluator, identifier)
|
return access.get_special_object(evaluator, identifier)
|
||||||
|
|||||||
@@ -28,9 +28,11 @@ def test_versions(version):
|
|||||||
assert any(executable in p for p in sys_path)
|
assert any(executable in p for p in sys_path)
|
||||||
|
|
||||||
|
|
||||||
def test_import_module(evaluator):
|
def test_load_module(evaluator):
|
||||||
compiled_obj = evaluator.compiled_subprocess.import_module(name='math')
|
access_path = evaluator.compiled_subprocess.load_module(name='math')
|
||||||
assert compiled_obj.py__bool__() is True
|
name, access_handle = access_path.accesses[0]
|
||||||
assert compiled_obj.api_type == 'module'
|
|
||||||
|
assert access_handle.py__bool__() is True
|
||||||
|
assert access_handle.get_api_type() == 'module'
|
||||||
with pytest.raises(AttributeError):
|
with pytest.raises(AttributeError):
|
||||||
assert compiled_obj.py__mro__()
|
access_handle.py__mro__()
|
||||||
|
|||||||
Reference in New Issue
Block a user