__author__ = 'leifj' from django.conf import settings from django.utils.importlib import import_module _consumer_provider_modules = list() def autodiscover(): for app in settings.INSTALLED_APPS: try: mod = import_module("%s.models" % app) except: continue try: if hasattr(mod,'consumer_providers') and hasattr(mod.consumer_providers,'__call__'): _consumer_provider_modules.append(mod) except AttributeError: continue def consumer_providers(): p = list() for mod in _consumer_provider_modules: p.extend(mod.token_providers()) return p def consumer_provider(name): for mod in _consumer_provider_modules: for p in mod.token_providers(): if p.name == name: return p return None autodiscover() # self.authorization_uri # self.logo # self.name # self.description # self.service_uri # self.is_authorized(user)