hub/venv/lib/python3.7/site-packages/jedi/plugins/flask.py

22 lines
919 B
Python
Raw Normal View History

def import_module(callback):
"""
Handle "magic" Flask extension imports:
``flask.ext.foo`` is really ``flask_foo`` or ``flaskext.foo``.
"""
def wrapper(inference_state, import_names, module_context, *args, **kwargs):
if len(import_names) == 3 and import_names[:2] == ('flask', 'ext'):
# New style.
ipath = (u'flask_' + import_names[2]),
value_set = callback(inference_state, ipath, None, *args, **kwargs)
if value_set:
return value_set
value_set = callback(inference_state, (u'flaskext',), None, *args, **kwargs)
return callback(
inference_state,
(u'flaskext', import_names[2]),
next(iter(value_set)),
*args, **kwargs
)
return callback(inference_state, import_names, module_context, *args, **kwargs)
return wrapper