def get_concept_values(user): concepts = Concept.objects.all() cache_key = 'constant_context/' + str(user.id) constant_context = cache.get(cache_key) if constant_context == None: constant_context = {} user_context_providers = get_user_context_providers() for provider in user_context_providers: context_values = provider.get_context_values(user) constant_context.update(context_values) constant_context.update(get_constant_values()) cache.set(cache_key, constant_context) concept_values = constant_context data = {} data['user'] = user try: if 'twitterauth' in settings.INSTALLED_APPS: data['twitterauth'] = TwitterUserProfile.objects.get(user__id=user.id) else: data['twitterauth'] = None except Exception: data['twitterauth'] = None for concept in concepts: if concept.source == 'PLAT': concept_values[concept.concept] = get_concept_value(concept, data) return concept_values
def get_extra_concepts(): extra_concepts = [] user_context_providers = get_user_context_providers() for provider in user_context_providers: extra_concepts += provider.get_concepts() return extra_concepts