Решил задачу условным импортированием.
import importlib
def auth(fn):
@wraps(fn)
def wrapper(*args, **kwargs):
# В переменной конфигурации EXT_API_MODULE хранится имя модуля, который содержит класс extAPI
# для генерации вызовов к внешним API. Модулей два: ext_api.py и exp_api_test.py
# В первом реальные обработчики для продакшена, EXT_API_MODULE="exp_api"
# Во втором - заглушки для тестов, EXT_API_MODULE="exp_api_test"
ext_api = importlib.import_module('application.{0}'.format(current_app.config['EXT_API_MODULE']))
token = request.headers.get('X-Auth-Token')
if not get_from_cache(token):
res = ext_api.extAPI().auth_service(token)
if res.status_code == 200:
set_to_cache(token)
return fn(*args, **kwargs)
return Responce('{"error": "Invalid token"}', status=404)
return wrapper
Всем спасибо за участие!