def index(request): federations = Federation.objects.filter(is_interfederation=False) interfederations = Federation.objects.filter(is_interfederation=True) # Entities with count how many federations belongs to, and sorted by most first most_federated_entities = Entity.get_most_federated_entities(cache_expire=(24 * 60 * 60)) export = request.GET.get('export', None) format = request.GET.get('format', None) if export and format: counters = ( ('all', {}), ('IDPSSO', {'types__xmlname': 'IDPSSODescriptor'}), ('SPSSO', {'types__xmlname': 'SPSSODescriptor'}), ) if export == 'interfederations': return export_summary(request.GET.get('format'), interfederations, 'entity_set', 'interfederations_summary', counters) elif export == 'federations': return export_summary(request.GET.get('format'), federations, 'entity_set', 'federations_summary', counters) elif export == 'most_federated_entities': return export_query_set(request.GET.get('format'), most_federated_entities, 'most_federated_entities', ('', 'types', 'federations')) else: return HttpResponseBadRequest('Not valid export query') return render_to_response('metadataparser/index.html', { 'interfederations': interfederations, 'federations': federations, 'entities': Entity.objects.all(), 'entity_types': DESCRIPTOR_TYPES, 'most_federated_entities': most_federated_entities, }, context_instance=RequestContext(request))
def _index_export(export, export_format, objects): counters = ( ('all', {}), ('IDPSSO', {'types__xmlname': 'IDPSSODescriptor'}), ('SPSSO', {'types__xmlname': 'SPSSODescriptor'}), ) if not export in ['interfederations', 'federations', 'most_federated_entities']: return HttpResponseBadRequest('Not valid export query') if export == 'most_federated_entities': return export_query_set(export_format, objects['most_federated_entities'], 'most_federated_entities', ('entityid', 'types', 'name', 'federations')) else: return export_summary(export_format, objects[export], 'entity_set', '%s_summary' % export, counters)