mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-10 07:41:51 +08:00
Allow files for get_default_project, fixes #1552
This commit is contained in:
@@ -339,6 +339,13 @@ try:
|
|||||||
except NameError:
|
except NameError:
|
||||||
PermissionError = IOError
|
PermissionError = IOError
|
||||||
|
|
||||||
|
try:
|
||||||
|
NotADirectoryError = NotADirectoryError
|
||||||
|
except NameError:
|
||||||
|
class NotADirectoryError(Exception):
|
||||||
|
# Don't implement this for Python 2 anymore.
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
def no_unicode_pprint(dct):
|
def no_unicode_pprint(dct):
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import json
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
from jedi._compatibility import FileNotFoundError, PermissionError, \
|
from jedi._compatibility import FileNotFoundError, PermissionError, \
|
||||||
IsADirectoryError
|
IsADirectoryError, NotADirectoryError
|
||||||
from jedi import debug
|
from jedi import debug
|
||||||
from jedi.api.environment import get_cached_default_environment, create_environment
|
from jedi.api.environment import get_cached_default_environment, create_environment
|
||||||
from jedi.api.exceptions import WrongVersion
|
from jedi.api.exceptions import WrongVersion
|
||||||
@@ -383,6 +383,8 @@ def get_default_project(path=None):
|
|||||||
return Project.load(dir)
|
return Project.load(dir)
|
||||||
except (FileNotFoundError, IsADirectoryError, PermissionError):
|
except (FileNotFoundError, IsADirectoryError, PermissionError):
|
||||||
pass
|
pass
|
||||||
|
except NotADirectoryError:
|
||||||
|
continue
|
||||||
|
|
||||||
if first_no_init_file is None:
|
if first_no_init_file is None:
|
||||||
if os.path.exists(os.path.join(dir, '__init__.py')):
|
if os.path.exists(os.path.join(dir, '__init__.py')):
|
||||||
|
|||||||
@@ -20,6 +20,12 @@ def test_django_default_project(Script):
|
|||||||
assert script._inference_state.project._django is True
|
assert script._inference_state.project._django is True
|
||||||
|
|
||||||
|
|
||||||
|
def test_django_default_project_of_file(Script):
|
||||||
|
project = get_default_project(__file__)
|
||||||
|
d = os.path.dirname
|
||||||
|
assert project._path == d(d(d(__file__)))
|
||||||
|
|
||||||
|
|
||||||
def test_interpreter_project_path():
|
def test_interpreter_project_path():
|
||||||
# Run from anywhere it should be the cwd.
|
# Run from anywhere it should be the cwd.
|
||||||
dir = os.path.join(root_dir, 'test')
|
dir = os.path.join(root_dir, 'test')
|
||||||
|
|||||||
Reference in New Issue
Block a user