| 123456789101112131415161718192021 |
- 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 = ('flask_' + import_names[2]),
- value_set = callback(inference_state, ipath, None, *args, **kwargs)
- if value_set:
- return value_set
- value_set = callback(inference_state, ('flaskext',), None, *args, **kwargs)
- return callback(
- inference_state,
- ('flaskext', import_names[2]),
- next(iter(value_set)),
- *args, **kwargs
- )
- return callback(inference_state, import_names, module_context, *args, **kwargs)
- return wrapper
|