| import logging |
| |
| from APIFactory import URIBuilder |
| |
| from types import * |
| from notifications import * |
| from utils import * |
| |
| |
| __author__ = 'hanl' |
| |
| # instance reference for authentication provider |
| # must be set before usage! |
| PROVIDER = None |
| |
| |
| def init_app(config): |
| provider_name = config.get('AUTH_PROVIDER', 'providers.CustomProvider') |
| split = provider_name.split('.') |
| # get last element, so you have the class name |
| _class = split[len(split) - 1] |
| |
| provider_name = provider_name.replace("." + _class, "") |
| module = __import__(provider_name) |
| obj = getattr(module, _class, None) |
| if obj is None: |
| raise KeyError("the provider class '%s.%s' is undefined or could not be found!" % (provider_name, _class)) |
| instance = obj(config) |
| logging.info("successfully loaded provider '%s.%s'" % (provider_name, _class)) |
| global PROVIDER |
| PROVIDER = instance |
| |