mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-08 06:44:46 +08:00
List old-style flask extensions, too.
This commit is contained in:
@@ -110,12 +110,17 @@ class ImportWrapper(pr.Base):
|
|||||||
names += m.get_defined_names()
|
names += m.get_defined_names()
|
||||||
else:
|
else:
|
||||||
if self.import_path == ('flask', 'ext'):
|
if self.import_path == ('flask', 'ext'):
|
||||||
# List Flask extensions in ``flask_foo``
|
# List Flask extensions like ``flask_foo``
|
||||||
for mod in self._get_module_names():
|
for mod in self._get_module_names():
|
||||||
modname = str(mod)
|
modname = str(mod)
|
||||||
if modname.startswith('flask_'):
|
if modname.startswith('flask_'):
|
||||||
extname = modname[len('flask_'):]
|
extname = modname[len('flask_'):]
|
||||||
names.append(self._generate_name(extname))
|
names.append(self._generate_name(extname))
|
||||||
|
# Now the old style: ``flaskext.foo``
|
||||||
|
for dir in self._importer.sys_path_with_modifications():
|
||||||
|
flaskext = os.path.join(dir, 'flaskext')
|
||||||
|
if os.path.isdir(flaskext):
|
||||||
|
names += self._get_module_names([flaskext])
|
||||||
if on_import_stmt and isinstance(scope, pr.Module) \
|
if on_import_stmt and isinstance(scope, pr.Module) \
|
||||||
and scope.path.endswith('__init__.py'):
|
and scope.path.endswith('__init__.py'):
|
||||||
pkg_path = os.path.dirname(scope.path)
|
pkg_path = os.path.dirname(scope.path)
|
||||||
|
|||||||
@@ -44,7 +44,9 @@ def teardown_function(function):
|
|||||||
("from flask.ext import baz; baz.", "Baz"), # flask_baz/__init__.py
|
("from flask.ext import baz; baz.", "Baz"), # flask_baz/__init__.py
|
||||||
("from flask.ext import moo; moo.", "Moo"), # flaskext/moo/__init__.py
|
("from flask.ext import moo; moo.", "Moo"), # flaskext/moo/__init__.py
|
||||||
("from flask.ext.", "foo"),
|
("from flask.ext.", "foo"),
|
||||||
|
("from flask.ext.", "bar"),
|
||||||
("from flask.ext.", "baz"),
|
("from flask.ext.", "baz"),
|
||||||
|
("from flask.ext.", "moo"),
|
||||||
pytest.mark.xfail(("import flask.ext.foo; flask.ext.foo.", "Foo")),
|
pytest.mark.xfail(("import flask.ext.foo; flask.ext.foo.", "Foo")),
|
||||||
pytest.mark.xfail(("import flask.ext.bar; flask.ext.bar.", "Foo")),
|
pytest.mark.xfail(("import flask.ext.bar; flask.ext.bar.", "Foo")),
|
||||||
pytest.mark.xfail(("import flask.ext.baz; flask.ext.baz.", "Foo")),
|
pytest.mark.xfail(("import flask.ext.baz; flask.ext.baz.", "Foo")),
|
||||||
|
|||||||
Reference in New Issue
Block a user